Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
#INCLUDE in PRG works differently
Message
De
09/12/2004 21:30:55
Dragan Nedeljkovich (En ligne)
Now officially retired
Zrenjanin, Serbia
 
 
À
09/12/2004 19:00:44
James Hansen
Canyon Country Consulting
Flagstaff, Arizona, États-Unis
Information générale
Forum:
Visual FoxPro
Catégorie:
Visual FoxPro Beta
Divers
Thread ID:
00959425
Message ID:
00968201
Vues:
7
>Apparently I was wrong about this being a new problem. It has been there since VFP7 (at least since SP1). It didn't show up for me because doing a build for a project with Recompile All Files checked doesn't recompile the FRX's even though it regenerates the Object field in the PJX. But when I made a minor edit to the PRG to fix a little problem I ran into while testing on VFP9, saving the PRG forced a new FRX to be generated and, apparently, that is when things got screwy.

You meant FXP here, not FRX, right?

[snip]
>Assuming #defines are actually processed at compile time and not run time, it would appear to me that the code is generated differently for the FRX and for the Object field in the PJX and the FRX is miscompiled.
>
>This is not the way it worked in VFP6. (I've tested it.) And I don't think it was the way it worked in VFP7 before SP1, but I can't easily test that hypothesis. (It's just that, judging by the modify dates on the old FRXs, the last time the FRXs were regenerated before last month was, I believe, about the time I installed VFP7.)
>
>Looks like a bug to me.
>
>I've now put in over 8 hours chasing this down. I would appreciate it if somebody could confirm or deny my observations. I would rather not waste even more time reworking CodeBook 6 framework code to get around this problem right now if I'm on the wrong track.

To put your mind at ease: it was this way ever since project manager was introduced, though I don't exactly remember whether that was in FP1.0x or FP2.0.

When you build the project, the generated FXP files are not saved to the disk. They go into the Object memo of the pjx file. IOW, one of these can be wrong while the other still works, even though they are based on the same source. It just depends on the settings at compile time.

This largely differs from what you see in dbf-typed program files (scx, vcx, frx, lbx... did I forget any?), because these files contain their object (or P-code) within their own Object fields. Only the textfile source (prg and any of the ?pr files - mpr, qpr etc) have this duality, that they are compiled into separate files when you run them from the IDE, and compiled into the pjx when you build a project.

Now what's up with your include files, I have no clue. I've seen my share of weird behaviors there, and one thing I know that helps is to have the include directory in the Set("Path").

back to same old

the first online autobiography, unfinished by design
What, me reckless? I'm full of recks!
Balkans, eh? Count them.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform