Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Need a way to show processing
Message
From
22/09/2008 17:00:13
 
 
To
22/09/2008 16:30:15
Jay Johengen
Altamahaw-Ossipee, North Carolina, United States
General information
Forum:
Visual FoxPro
Category:
Other
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Vista
Network:
Windows 2008 Server
Database:
MS SQL Server
Miscellaneous
Thread ID:
01349528
Message ID:
01349630
Views:
20
>>>>>I need something visual that has almost no overhead that I can use to show a user that processing is still going on. I want it to look nice, but be very simple. I thought about just popping up a little modal window. Or maybe taking over their mouse cursor, but Foxpro doesn't always do well with that one. Any ideas?
>>>>
>>>>What about nice progress bar by Carlos Alloatti? I don't think it's much overhead since it's Windows API based.
>>>
>>>Before I check it out, is it SQL dependent? Do I need to put a bunch of call in my existing code for it to know how much has processed? I don't need something necessarily that shows progress, just let's them know things are still going on.
>>
>>In the ctl32_progressbar, you can set the ctlMarquee style to .T. and show a progressbar just like the one shown when XP or Vista are starting.
>>
>>Depending on the kind of "processing" you are doing, the progresbar may or may not update, you just have to try it:
>>
>>
Local llAutoYield, lnx, lnfoo
>>
>>Thisform.ctl32_progressbar1.ctlMarquee = .T.
>>
>>m.llAutoYield = _vfp.AutoYield
>>
>>_vfp.AutoYield = .T.
>>
>>For lnx = 1 To 10000000
>>	m.lnfoo = Rand()
>>Endfor
>>
>>Thisform.ctl32_progressbar1.ctlMarquee = .F.
>>
>>_vfp.AutoYield = m.llAutoYield
>>
>>
>>This will work, a little bit jerky sometimes maybe, but it works.
>>
>>The ctl32 controls are not activex, but they need _vfp.autoyield set to .F. to work properly while handling window messages. That prevents the progressbar from updating properly sometimes
>
>Why is it so jerky? I had high hopes when I went to the site, but you're right; it stops and starts and jumps around. I know the users wont like that.

Well, due to the fact that VFP is not multithreaded, it can only do one thing at a time. Converting this to a multithreaded control is beyond my knowledge, but I think it could be done.

I don´t know what your processing involves, could you post a sample of what are you doing in your "processing"? This would help me explore new ways to make this work.

I have used this control only in scan-endscan type loops, so I just increase the progressbar value each time.

Carlos
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform