OK, let's do a little defining terms here
report.prg, if you see this as the "report engine", then you're totally on the wrong track, and such differences are leading to misunderstandings, leading to not getting the answers you need.
OK, starting:
1. report.prg is a prg inside xsource\wizards and the header comment says, what it is:
* STUB for the Report Wizard
* This is the stub which you should copy (place the modified version in
* your Wizard's directory), rename, and modify to call your wizard.
2. Report engine
Is what you can set to mode 80 (legacy, fxp based) and 90 (modern, also fxp based, with or without reportlistener support). The report engine still is native core of vfp9.exe or vfp9r.dll, reportlisteners are a class extending the engine, I would agree if you would count theses classes to the engine. In 90 mode the reportengine uses the reportxyz.app files, which are reportoutput.app, reportpreview.app and reportbuilder.app, so you may count creating reports to the engine, I still don't do that. These apps are not the engine, they are used by the engine in 90 mode, the 90 is pretty much a hull of functionalities, but still it's CREATE REPORT or CREATE LABEL, which trigger usage of the reportbuilder.app and not vice versa.
I can agree the engine does more than just rendering the report, but actually the creation of reports is quite seperate and has not changed much, it still creates frx,ldb files, you can just protect parts of a report. So I agree I was also wrong. Nevertheless if the report engine is mentioned in the vfp help, it talks mainyl about rendering reports, including the support of report listeners. Likewise the sql engine mainly is referred to about executing SQL-Selects,Updaes, Deletes, but not creating or altering tables.
3. Report System
The report apps are part of the report system, that's more general than just the engine.
OK, now.
And now let's look what report.prg does. If you set p2 = "LABEL", it sets m.cWizardToRun = "LabelWizard" and then continues to do
Code:
* Modify here to reference your wizard's .vcx.
set classlib to RptWiz
public oWizard
* The name "oWizard" is used in automated testing and should *NOT* be changed.
oWizard = createobj(m.cWizardToRun,...
So it's calling the Labelwizard class of RptWiz.vcx, that's what you are looking for.
But initially you said you'd like to give your users the opportunity to define own labelsizes. It's obvious they would then also need to be able to create labels on the new label sizes, but that's still merely CREATE LABEL, which is going through a label size choice dialog for me.
Bye, Olaf.