Smart questions
Smart answers
Smart people
INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Member Login

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips now!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

Join Tek-Tips
*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

LINK TO THIS FORUM!

Add Stickiness To Your Site By Linking To This Professionally Managed Technical Forum.
Just copy and paste the
code below into your site.

Partner With Us!

"Best Of Breed" Forums Add Stickiness To Your Site
Partner Button
(Download This Button Today!)

Feedback

"...I have been a grateful member of this site for several years. I love this site and refer everyone to it!..."

Geography

Where in the world do Tek-Tips members come from?

Microsoft: Visual FoxPro FAQ

Memory Management

How to speed-up your VFP Application?
Posted: 27 Apr 03 (Edited 27 Apr 03)

Here is a procedure to speed-up your VFP Application (tested on VFP6, though):
***************************************************


* Save this File to SetMemory.PRG
* Add 2 (two) lines in you main program:
* 1.  Set Procedure to SetMemory.PRG additive &&(if you have more than one Procedure File)
* 2.  =SetMemory()
*

LOCAL lnAvailableMem, lpMemoryStatus, lnPct

* Running on the desktop
* Agit72 : agit72@plasa.com, admin@msp-works.com
          
DECLARE GlobalMemoryStatus IN Win32API STRING @lpMemoryStatus
lpMemoryStatus = REPLICATE(CHR(0), 32)
GlobalMemoryStatus(@lpMemoryStatus)

lnAvailableMem = CharToBin(SUBSTR(lpMemoryStatus, 13, 4))

*** EGL: - Added the fine tuning option
lnPct = 1
IF TYPE("goApp.nSetMemoryPct") == "N"
    lnPct = goApp.nSetMemoryPct
ENDIF
lnAvailableMem = (lnAvailableMem * lnPct)

SYS(3050, 1, lnAvailableMem)
SYS(3050, 2, (lnAvailableMem/2) )

RETURN lnAvailableMem


***************************
FUNCTION CharToBin (tcWord)
***************************
    LOCAL lnChar, lnWord
    lnWord = 0
    FOR lnChar = 1 TO LEN(tcWord)
        lnWord = lnWord + (ASC(SUBSTR(tcWord, lnChar, 1)) * (2 ^ (8 * (lnChar - 1))))
    ENDFOR

    RETURN lnWord
ENDFUNC


Back to Microsoft: Visual FoxPro FAQ Index
Back to Microsoft: Visual FoxPro Forum

My Archive

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close