Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Komponentennamen löschen (https://www.delphipraxis.net/53124-komponentennamen-loeschen.html)

TheMiller 10. Sep 2005 18:11


Komponentennamen löschen
 
N'abend!

Wie kann ich beim Freigeben mit Free auch den Namen der Komponente freigeben?

Gebe ich mit Free was frei und will wieder was erstellen, sagt er mir der Name sei schon vorhanden?

Danke

MarcoWarm 10. Sep 2005 18:13

Re: Komponentennamen löschen
 
das dürfte eigentlich nicht sein (aber hab grad kein Delphi da um es zu testen)

Du kannst versuchen, vor dem Freigeben des Objektes, den Namen auf '' zu setzen.
oder du versuchst FreeAndNil(DeinObjekt) Dann ist definitiv nix mehr davon übrig.

TheMiller 10. Sep 2005 18:28

Re: Komponentennamen löschen
 
Hm, FreeAndNil funzt nicht, da der Compiler meckert:

Zitat:

Zitat von Compiler
Konstantenobjekt kann nicht als Var-Parameter weitergegeben werden.

ich benutze folgenden Code:

Delphi-Quellcode:
  for i:=0 to unit1.id do
  begin
    FreeAndNil((FindComponent('Unit1.btn'+INttostr(i))) as TButton);
  end;
Was mache ich denn schon wieder falsch?

Christian Seehase 10. Sep 2005 22:06

Re: Komponentennamen löschen
 
Moin DJ-SPM,

dann mach' es so:

Delphi-Quellcode:
((FindComponent('Unit1.btn'+INttostr(i))) as TButton).Free;
FreeAndNil macht nur Sinn, wenn eine Variable den Pointer auf eine Objektinstanz enthält, um prüfen zu können, ob die Instanz noch existiert.
In Deinem Falle genügt Free.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz