Besten Dank für den Hinweis.

Allerdings:
.Ubound und .Remove funktionieren für ImageMBS nicht, .close genügt.

Für RB-eigene Controls habe ich das noch nicht getestet.


Am 20.08.2011 um 17:13 schrieb MGE Lists:

> //
> for n As Integer = TabLinks.Ubound DownTo 0
>  TabLinks(n).Close // Jetzt sollte das Ram frei sein, ist PictureMBS 
> spezifisch
>  TabLinks.Remove(n) // Nun ist der Eintrag im Array weg
> next
> 
> -------- Original Message --------
> Subject: Löschen einer Instanz eines Controls (20-Aug-2011 13:18)
> From:    Karl Grob <[email protected]>
> To:      [email protected]
> 
>> Hi,
>> 
>> Vielleicht kann mir da jemand helfen (vielleicht bin ich auch zu blöde).Wie 
>> werde ich eine mit NEW erzeugte Instanz eines Controls wieder los?
>> 
>> Beispiel:
>> 
>>    CBTabsLinks.DeleteAllRows
>>    while TabLinks(i) <> NIL
>>      if TabLinks(i).Visible then CBTabsLinks.AddRow format(
>> getMassHorizontal(TabLinks(i).PixMass, Vergroesserung), "#.00")
>>      //if i > 0 then TabLinks(i) = NIL  -> geht nicht!
>>      i = i+1
>>    wend
>> 
>> CBTabsLinks ist eine Combobox
>> TabLinks(i) sind Instanzen von ImageMBS, die mit NEW erzeugt wurden
>> (Die Anzahl Tabulatoren ist ja zur Laufzeit verschieden).
>> 
>> Es ist (nicht nur mit ImageMBS!) offensichtlich nicht möglich, eine solche 
>> Instanz mit NIL zu traktieren. Eine andere Möglichkeit sehe ich aber nicht. 
>> Ich hätte gerne eine 'saubere' Index-Abfolge, das geht aber nur, wenn ich 
>> auch dazwischen herauslöschen kann.
>> 
>> Kennt jemand eine Lösung?
>> 
>> Gruss
>> Karl Grob
>> 
>> 
>> 
> 
> 
> 
> 


Antwort per Email an