Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Memory leak
Message
De
29/12/1999 16:22:21
 
 
À
Tous
Information générale
Forum:
Visual FoxPro
Catégorie:
Classes - VCX
Titre:
Memory leak
Divers
Thread ID:
00310104
Message ID:
00310104
Vues:
49
Yesterday I posted the follwoing question.

>Working on an application made up of many projects. Instead of each project having the same set of class libraries, the class libraries were broken out into its own project. When the application is started the following statement sets the classlib path:
>
>lcpath='C:\temp\'
>lcClass='C:\temp\classlib'
>lcclassname='INICLASS'
>
>SET CLASSLIB TO (lcpath+lcclassname) IN (lcClass) ADDITIVE
>
>
>The only way the application works is if the exes are built into the final destination. If the exes are built to c:\temp\ then installed to d:\destination\ the application does not work. The error says it can not instantiate the class.

The solution that ended up working was before compiling the .EXE, go through *.SCX and blank the classloc field. It works fine.

However, there is a considerable memory leak while the applicaiton is running and it begins to crawl. The SYS(1016) value is continually increasing.

The SET CLASSLIB statement has been changed to the following:

SET CLASSLIB TO (lcpath+lcclassname) IN (lcClass) ALIAS lcClassAlias ADDITIVE

In the unload of the form the statement
RELEASE CLASSLIB ALIAS lcClassAlias is executed and it does remove it from the CLASSLIB list.

It appears Foxpro thinks the CLASSLIB is released, but the memory is not released.

Any insight as to why the SYS(1016) value increases and slows the application?
"The most beautiful experience we can have is the mysterious ; it is the fundamental emotion which stands at the cradle of true art and true science." - Albert Einstein
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform