Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   iOS Form zur Laufzeit erzeugen und mit assigned prüfen ob vorhanden (https://www.delphipraxis.net/187911-form-zur-laufzeit-erzeugen-und-mit-assigned-pruefen-ob-vorhanden.html)

Sir Rufo 14. Jan 2016 15:36

AW: Form zur Laufzeit erzeugen und mit assigned prüfen ob vorhanden
 
Nur so am Rande bemerkt:

Mit ARC reicht ein simples
Delphi-Quellcode:
Free
oder
Delphi-Quellcode:
FreeAndNil
bei einer Komponente nicht mehr aus. Da muss man schon mit Delphi-Referenz durchsuchenTObject.DisposeOf ran.

Um die Instanz-Variable für die Komponente auf
Delphi-Quellcode:
nil
zu setzen überschreibt man Delphi-Referenz durchsuchenTComponent.Notification und reagiert dort auf
Delphi-Quellcode:
opRemove
.

Die Notification wird für alle Komponenten automatisch aufgerufen, wo man
Delphi-Quellcode:
Owner
oder
Delphi-Quellcode:
Parent
ist. Alle anderen Komponenten müssen mit Delphi-Referenz durchsuchenTComponent.FreeNotification registrieren um auch diese Benachrichtigung zu erhalten.

nahpets 14. Jan 2016 15:38

AW: Form zur Laufzeit erzeugen und mit assigned prüfen ob vorhanden
 
Zitat:

Zitat von himitsu (Beitrag 1327050)
Warum FindComponent, wenn man
Delphi-Quellcode:
f
hat?

Zitat:

Zitat von Du
Delphi-Quellcode:
if Assigned(f) then f.Free;

Schau mal was TObject.Free macht. :-D
Zitat:

Zitat von Delphi
Delphi-Quellcode:
procedure TObject.Free;
begin
  if Self <> nil then // if Assigned(Self) then
    Destroy;
end;


FindComponent zum Ersten, um zu zeigen, dass es funktioniert und zum Zweiten, weil es eventuell dann hier
Delphi-Quellcode:
if not assigned(Application.FindComponent(formListe[n]) as TForm) then
begin
  continue;
end;
funktioniert, ohne zu wissen, wie die weitere Programmlogik des Threaderstellers aussieht.

Und ja, es heißt natürlich f.Destroy :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:49 Uhr.
Seite 3 von 3     123   

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