Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Compiling DLL in VFP6 hangs in Win7
Message
De
26/11/2013 16:25:57
 
 
À
26/11/2013 15:41:01
Information générale
Forum:
Visual FoxPro
Catégorie:
Installation et configuration
Versions des environnements
Visual FoxPro:
VFP 6 SP5
OS:
Windows 7
Network:
SAMBA Server
Database:
Visual FoxPro
Application:
Desktop
Divers
Thread ID:
01588679
Message ID:
01588705
Vues:
47
>>Not sure what's changed in the configuration of my system, but now my VFP 6.0 (SP5) session hangs whenever when compiling a multi-threaded DLL (on 64-bit Win7 Ultimate). It appears to be hanging just after it announces it is generating the type library. Previously it would get past this point, and would silently fail at stage where DLL was being auto-registered. Now VFP 6.0 session is hanging and the only way to exit is to forcibly halt the process in Task Manager. The auto-registration bit doesn't bother me -- I'd prefer to do the registration of the DLL myself, rather than letting the compiler "automagically" do it for me (at least when I do it manually I'm more certain about the configuration options selected -- if the compiler does it, I'm not sure if it is using the same options that I'd be using in actual install). I have no problem problem when compiling programs to FXP, APP and EXE. I ruled out antivirus (Kaspersky) by suspending its operation when trying the rebuild of DLL (it still hangs with antivius deactivated). Performing the build in VFP 6.0 session started using "run as administrator" would work (but it is likely doing the autoregistration bit, which I'd prefer it *NOT* to do).
>>
>>On same system VFP 9.0 gives error about not being able to update registry (but that's OK, as I'd prefer to be registering components explicitly rather than compiler "automagically" doing it for me), but the DLL, TLB and VBR are being properly generated. Not seeing any other problem.
>>
>>Both VFP 6.0 and VFP 9.0 were installed from original discs (along with relevant service packs) on the new computer with 64-bit Win7 Ultimate --- they were *NOT* manually migrated to new system from the older XP Pro system. What generally puzzles me is that as of late, the VFP6.0 is now hanging -- it wasn't doing this before. Anybody else have a similar experience?
>>
>>I can't really drop VFP6.0 yet -- I still need to be able to support users running older versions of software compiled in VFP 6.0. Speaking of old software... I've got FPW 2.6 set up in a VM (only way to get it to work in 64-bit Windows) -- still have some customers using some really old software -- as they're using some rather ancient hardware, migration to VFP-based software isn't in the cards yet (about the only way they could be convinced to upgrade is when their old hardware eventually fails -- and are forced into upgrading to newer software because the older software won't work on newer OS -- which is will get forced on them because the old OS they've been using won't run on newer hardware anyway).
>
>I ran into what's probably the same thing when building COM EXEs. I had to run VFP9 as Administrator; in my case I wanted auto-registration to happen, it wouldn't if I ran as a non-elevated user.
>
>As for why it's hanging now when it wasn't earlier, some SWAGs:
>
>- clean out your temp files
>- rename your FOXUSER.*
>- are there any dead/obsolete/read-only .tlb/.vbr/what have you files lying around?
>
>Hmm, just had an idea - maybe you could set up an ON ERROR handler and have it running globally before you do your build. Probably get the best result if you code the handler to write stuff to a disk file e.g. STRTOFILE( ) additive. If you can find out the error(s) being thrown, maybe you could code your handler to ignore them.

Thanks for your suggestions.

Tried the following:
* cleared out the temporary folders
* Reset FOXUSER files
* Removed any TLB, VBR, DLL (just in case they might be interfering because of access privilege)

Tried compiling to DLL again and got the same "hang" of environment. At least I see the APP being generated (IIRC this is a normal step when compiling to EXE and DLL. An APP file is first generated, and apparently there is a subsequent step that adds a "stub" that launches runtime). It appears the step where APP contents are built into DLL is failing -- there is a zero-byte DLL file. Doesn't get to the point where VBR and TLB are generated.

Repeated same task by launching VFP using "run as administrator" -- no hang occurs, with DLL, TLB and VBR being generated.

Did notice something interesting. If I go to the Compatibility tab of the shortcut where I'm launching VFP 6.0 (SP5), and select "Run the program in compatibility mode for" and select XP SP3, then it seems to work -- the DLL is being generated as before. The one downside is that EVERY time I launch VFP (through the shortcut), I get a UAC warning dialog.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform