Forum: Programmieren allgemein
by Jasocul,
24. Mai 2017
Das try musst du dann schon ganz an den Anfang setzen. Also noch vor if Sender <> nil
Forum: Programmieren allgemein
by Jasocul,
24. Mai 2017
Ja. Wenn die Komponente nur noch auf der Form arbeitet, kann sie nicht mehr auf controls zugreifen, wenn die Form mit Free entfernt wurde.
Forum: Programmieren allgemein
by Jasocul,
24. Mai 2017
Wenn ich das richtig sehe, ist das eine Routine im DataModul und das wird einem Event in "Screen" zugewiesen.
Man könnte natürlich mit einem Try..Except arbeiten, was meiner Meinung nach zwar der einfachste, aber "unschöne" Weg ist.
Ich würde aus dieser Routine eine Komponente machen und auf der jeweiligen Form platzieren. Alternativ wäre noch die Variante über einen ClassHelper für TForm...
Forum: Programmieren allgemein
by Jasocul,
24. Mai 2017
Assigned macht auch nur eine Prüfung auf Nil.
Das Problem ist, dass ein Control, das zur Laufzeit entfernt wurde, nicht zwingend Nil ist.
Statt Control.Free, hilft FreeAndNil(control). Dann funktioniert auch die Prüfung mit Assigned.