Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Cross reference objects
Message
De
24/10/2001 10:01:08
Hilmar Zonneveld
Independent Consultant
Cochabamba, Bolivie
 
 
À
24/10/2001 09:56:45
Marco Beuk
Innovero Software Solutions
The Hague, Pays-Bas
Information générale
Forum:
Visual FoxPro
Catégorie:
Programmation Orientée Object
Divers
Thread ID:
00572577
Message ID:
00572581
Vues:
27
What version of VFP? What SP? I mean, some bugs only appear in certain versions.

Hilmar.

>We had an ever growing DLL (could have been an exe too). After analyzing the code for many hours we discovered the cause of the problem:
>Within a method of object A we did a createobject to object B and passed A (this). In the init of object B we store the passed object in a property.
>
>Try the following for example:
>
>FOR nTel = 1 TO 1000
> x = CreateObject( 'textbox' )
> y = CreateObject( 'textbox' )
>
> x.AddProperty( 'test', y )
> y.AddProperty( 'test', x )
>
> x = null
> y = null
>ENDFOR
>MESSAGEBOX('Watch the memory usage in the taskmanager')
>
>
>While executing this code watch the memory usage in the taskmanager. It grows up to 18 MB!!
>IF you remove the link y.AddProperty( 'test', x ) not only the memory usage is growing but performance differs 20 times or more!
>
>Our solutions will be the usage of an intermediair object z:
>z point to x, z points to y and y points to z so that we can refer from y to x with y.z.x
>
>Marco.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform