Zitat von
cherry:
Hmm... ist komisch. Ja es geht wenn die myList nicht TForm gehört, wie greiffe ich dann aber von einem andern Formular darauf zu?
Die Frage hab mich mir damals auch gestellt. Nachher kam irgendwas komisches dabei raus. (Ich find das Projekt leider nicht mehr)
Aber stell dir das doch mal so vor: Du versuchst von einem Objekt auf eine private Variable von einem anderem Objekt zuzugreifen. Das geht nicht, nur bei den Callbackfunktionen beanstandet der Kompiler das nicht.
Soweit ich weiß hab ich damals eine globale Property von der Variable die ich in der CllBck-Mthd brauchte erstellt und dieser dann auch noch die Instanz des Objekts mitübergeben. So konnte ich dann in der Callback-Methode über diese Instanz auf die property zugreifen.
edit:
Also bei dir säh das dann so aus:
Delphi-Quellcode:
procedure getLdapDomain(domain: string; const TheForm: TForm1);
begin
TheForm.myList.Add(domain);
end;
Kannst du ja mal testen.
Unschön, aber man hat wenigstens keine
Unit-globale Variable.
(nur den neuen Zugriff auf die eigentlich private Variable)
Eine sauberere Alternative würde mich auch interessieren.