Hi,
die HauptAnwendung (wird) eine ganze Anzahl von Childs erzeugen, und jede dieser Listen soll (Bsp. über FindComponent) innerhalb des
MDI-Childs abrufbar und verfügbar sein.
Folgendes führt zum Error, sofern mehrere
MDI's erzeugt werden und dann über Button (close) geschlossen wird. Somit zerbricht als Folge meine intern Verwaltung, weil Listen deklariert aber nicht mehr da sind. (Das mit dem Nicht-mehr-da-sein ist relativ, ich glaube, daß sie nicht da sind, gegencheck über FindComponent und auf MDI_HilfsList.Count zeigt mir für alle MDIChilds stets den gleichen Wert an über FindComponent. Die logische Ursache dafür ist mir schleierhaft)
Delphi-Quellcode:
// alles aus dem MDI-Child
var
MDI_HilfsListe : TStringlist;
BlockListe : TStringlist;
procedure TMDIChild.FormCreate(Sender: TObject);
begin
// ...blabla...
MDI_HilfsListe := TStringlist.Create;
BlockListe := TStringlist.Create;
end;
//
procedure TMDIChild.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
{ MDI_HilfsListe.free;
BlockListe.free;
... ist egal ob in TMainForm.FormDestroy oder hier
... Ab zweitem MDI Schließen ist diese Liste defacto nich mehr greifbar
und führt zum Error
}
Action := cafree;
MainForm.Timer1.Enabled := true;
// unwichtig ... regelt Anordnungen
MainForm.update;
// unwichtig ...
end;
Wobei ich nicht begreife, warum die lokale Aneweisung im Child eine MainForm-Komponente wird...?!?
Danke
Wenn die Programme das machen, wie's wir machen, wären sie unbrauchbar...