Excellent questions! I believe you are focused on the true problem...
1. Yes, correct. compiled EXE VFP app + runtime vfpr..dll and
vfprune.dll RUNS SLOW
2. Install VFP9 complete from DVD, update it with SP2, load source code,
run. RUNS FAST
3. a) install OCX files on local drive.
b) install run time files on local drive (or IDE as in #2)
c) move compiled EXE VFP app to a folder on a network server. In my
case my servers are Linux with Samba shares.
RUNS FAST
Option #3 above is the way I'm going to go, but it means that my app
will not be able to be deployed on Win7 systems that access the data via
the Internet (back to the MySQL server for data.) This Internet option
was a fantastic benefit and works really well...on every Windows except
Win7. But, if running from a server (#3) is my only option at this
point, at least it allows me to deploy some new workstations at a
client's site next week without mud on my face.
Thanks!
Mike
> Please excuse my ignorance (once again)
> Am I correct that
> 1 A compile vfp app + runtime files is a EXE file that you have compiled +
> vfpr.dll and vfprune.dll
> 2 What is a VFP IDE-executed app?
> 3 and how would you run your 3rd option ?
>
> S
>
>
> On Fri, Mar 4, 2011 at 8:02 AM, Mike Copeland<[email protected]> wrote:
>
>> Thanks Richard.
>>
>> Wouldn't the SMB1 vs. SMB2 issue come into play only with networking?
>>
>> I'll admit that my description (below) is pretty muddy, but the short
>> version is that...
>>
>> --Win7 + compiled VFP app and runtime files = slow (regardless of data
>> source being network or local)
>>
>> --Win7 + VFP IDE-executed app = fast
>>
>> --Win7 + VFP app (compiled or not) run from network drive = fast
>>
>> With nothing but a single computer, no network, Win7, local DBF file,
>> and the VFP runtime environment, load time is slow.
>>
>> It's bizarre, and defies logic...except that I do admit I do not
>> understand Win7 as well as I should. (I've also managed to avoid
>> WinVista like the plague up until now.)
>>
>> Mike
>>
>>> Could be an SMB2 issue? Search the Profox archives and look for SMB2.
>> There might be some useful info from these threads on ProFox:
>>> Re: Strange Data Corruption Issue
>>> Re: Any gurus out there?
>>>
>>> --
>>> rk
>>>
>>> -----Original Message-----
>>> From: [email protected] [mailto:[email protected]]
>> On Behalf Of Mike Copeland
>>> Sent: Wednesday, March 02, 2011 3:03 PM
>>> To: [email protected]
>>> Subject: Windows 7 + VFP9 speed problem
>>>
>>> It's been a while since I've been on the list, but I've run into a real
>> buzz-saw of a VFP problem, thanks in part to Windows 7. I'd really be
>> appreciative of any and all thoughts on this issue as I'm stumped.
>>> Application: A monolithic accounting application with a few dozen forms.
>>> Compiled exe is 6MB
>>> Platform: Win XP or Win 7 (32 or 64 bit) plus VFP 9 SP2 and MySQL Add to
>> the mix: DBI Technologies ctGrid OCX file (although I don't think this is
>> the source of the problem)
>>> Hardware: Not relevant, but 4GB RAM, Dual Core 3Ghz Intel CPU on Intel
>>> G31 Mboard
>>>
>>> Problem: When loading a form, depending on the platform, it can take 160x
>> as long to finish.
>>> Task: Load 23,000 SKU #s into a combo. (details below)
>>>
>>> Times below are very very consistent, varying only about .10 second each
>> run.
>>> Scenario 1: Windows XP, compiled VFP exe application, all files local
>> (except MySQL data)
>>> FAST....as in 1/2 second Scenario 2: Windows XP,
>> run app from source code on VFP IDE, all files local
>>> FAST...again, around 1/2 second Scenario 3: Windows
>> 7 (32 or 64 bit), source code on VFP IDE, all files local
>>> FAST...1/2 second
>>>
>>> ...here's the problem
>>>
>>> Scenario 4: Windows 7, compiled exe app, all files local
>>> SLOW....80 seconds
>>> This happens on multiple forms that have almost
>> identical code.
>>> ...here's the head banger
>>> Scenario 5: Windows 7, running compiled exe from a Linux Samba share
>>> FAST....actually a bit faster than running on
>> Windows XP...less than 1/2 seconds
>>> Windows 7 is becoming unavoidable. The solution seems to be to run the
>> app from the server, but many details (storage of window sizes, auto update
>> to new version, etc.) have been designed for local workstation storage.
>>> What I can not understand is why Scenario 4 is so radically different.
>>> Any suggestions?
>>>
>>> What I've tried:
>>> 1. Turned off UAC completely. (Started with UAC on, of course.) No
>> effect.
>>> 2. Change ownership of the folder the files are stored in. No effect.
>>> 3. Installed full VFP IDE, removed, installed VFP9 SP2 run-time only
>> files No effect, although I was surprised at how fast it was (Scenario 3
>>> above)
>>> 4. Introduced delays into code loop...i.e., DOEVENTS and "wait window ''
>>> nowait"
>>> 5. Tried saving SELECTED data in a local DBF and loading from DBF. (This
>> did tweak the timing a little, like 4 seconds out of 80) Even tried saving
>> static data in DBF and not even involving the MySQL process.
>>> 6. Created single form with nothing but the DBI grid OCX object and
>> compiled as a 48Kb application. This ran fast, 1/2 second to load, but while
>> informative it is hardly useful.
>>> 7. I've tested and tried placing the TMPFILES location local and remote,
>> and let Windows manage it vs. "manual override." No change.
>>> All in all, it seems to be pointing at a problem with the interaction
>> between Windows 7 and VFP9 SP2 and memory management.
>>> I'm sure I've missed something, and I know this is a lot to read, but I
>> would very much appreciate any suggestions. I know of no better place to go
>> than here where the best and the brightest connect.
>>> Oh, here's the code from the INIT event on the form (I've tried various
>> other events, and even put it in the click event of a button on the form, no
>> change) Also, you'll notice there's no indication of how I'm getting the
>> data from MySQL. The sample below has the same speed issues described above,
>> but as you can see the retrieval from the MySQL server is not involved in
>> the timing and is actually very fast in all scenarios.
>>> ----------------------------------------------------------
>>>
>>> MESSAGEBOX('Starting to load Grid. Click OK to start...',0+64,'Notice')
>> LOCAL ttimestart,ttimeexp SELECT sku FROM skus into temp WHERE active=1
>> order by sku SELECT temp GO TOP IN temp
>>> ttimestart=seconds()
>>>
>>> SCAN WHILE !EOF('temp')
>>> thisform.ctGrid.addcomboitem(1,temp.sku)
>>> ENDSCAN
>>>
>>> ttimeexp=seconds()-ttimestart
>>>
>>> MESSAGEBOX('Finished.'+CHR(13)+ALLTRIM(STR(RECCOUNT('temp')))+' items
>> added.'+;
>>> CHR(13)+'Time elapsed:
>> '+ALLTRIM(STR(ttimeexp,6,2))+' seconds',0+64,'Notice')
>>> -------------------------------------------------------------------------
>>>
>>> Thanks again!
>>> Mike Copeland
>>>
>>>
>>>
>>>
[excessive quoting removed by server]
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/profox
OT-free version of this list: http://leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message:
http://leafe.com/archives/byMID/profox/[email protected]
** All postings, unless explicitly stated otherwise, are the opinions of the
author, and do not constitute legal or medical advice. This statement is added
to the messages for those lawyers who are too stupid to see the obvious.