Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
After building under VFP9 new forms are missing from exe
Message
De
15/12/2005 09:34:40
 
 
À
15/12/2005 06:13:54
Cetin Basoz
Engineerica Inc.
Izmir, Turquie
Information générale
Forum:
Visual FoxPro
Catégorie:
Problèmes
Versions des environnements
Visual FoxPro:
VFP 9
OS:
Windows XP SP2
Divers
Thread ID:
01078041
Message ID:
01078223
Vues:
16
Hi Cetin,

the way you are referring to the form names means they won't be pulled in to the project.

I created a new project called c:\temp\test.pjx

I then created a c:\temp\main.prg with the following code:
DO FORM c:\temp\form1
DO FORM ("c:\temp\form2")
I set Main.prg as the main program, created two forms (form1 and form2 in c:\temp) and built the project.

Form1 got pulled in to the project, form2 did not, because the () means VFP things there is some expansion to be done on what is between the brackets.


>You're lucky then:) I don't use createobject() nor set classlib but NewObject().
>Here is some more interesting observation:
>I created a little prg to pull all files in the project and call them explicitly by their fullpath. It looks like:
>
>
>*Main.prg
>do progs\ProjectFiles.prg
>...
>
>*ProjectFiles.prg
>if .f.
> do form ("c:\myDevPath\Forms\FormName.scx")
>...
> do ("c:\myDevPath\Progs\ProgName.prg")
>...
> report form ("c:\myDevPath\Reports\RepName.frx")
>...
> set classlib to ("c:\myDevPath\Classes\ClassName.vcx")
>...
>endif
>
I created a new project, just put the main.prg in it and rebuild the project. Guess what. All those new (relatively) forms are missing from the project!!! Worse a lot more than old reports are missing etc.
>Tried a few workarounds to no avail and getting extremely frustrated by this. Up to date it has been a piece of cake to compile an exe but now:(
>Cetin
>
>>Not to any consolation, but the exact same scenario works fine here. E.g. we have doForm function as part of MereMortals framework. All classes are included in the project. There is a metafile, which is either getting re-created from the project file (in debug mode, where you have debug.txt file present), or using existed file. The special setup program sets procedure to all functions included into the project and classlib to all libraries included into the project. Then DoForm works fine.
>>
>>May be one your forms is not set in the set('CLASSLIB') if you're using CREATEOBJECT function or your SET('CLASSLIB') is too long.
>>
>>>Old version of the application was build under VFP7.
>>>New version was developed using the old projectunder VFP9. Forms are not called directly like:
>>>do form formname
>>>
>>>but formnames are in a table included in the project - table has field action:
>>>DoForm("formname",'parms')
>>>FormMethod('methodname','parms')
>>>etc.
>>>An 'executor' object handles what to call based on that data. This worked very well in previous version.
>>>
>>>New forms/classes/frx/prg/prg based classes etc were added in new project (files needed are explicitly added -included- to the project). After build however the exe complains about missing files. ie:
>>>
>>>c:\exepath\formX.scx doesn't exist.
>>>
>>>but that form is explicitly included in project. Did anybody encounter this and know of a quick solution? (I'm going to add
>>>if .f.
>>>do form ...
>>>do this
>>>do that
>>>endif) but I don't think it'd do.
>>>TIA
>>>Cetin
Frank.

Frank Cazabon
Samaan Systems Ltd.
www.samaansystems.com
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform