Zitat von
sx2008:
Zitat von
Woodman:
Verzeih' einem Anfänger, das ich Dir nicht ganz folgen kann
Was ist falsch daran, den Owner mit zu geben?
Du hast ein Klasse
TForm1 und eine globale Variable
Form1.
Solange es nur ein Formular dieser Klasse gibt ist alles in Ordnung.
Wenn es aber mehrere Formulare der gleichen Klasse gibt, dann können ja nicht alle in der Variable Form1 gespeichert sein.
Das würde dann bedeuten, dass die Autocomplete Komponente auf das falsche Formular zugreift.
Es könnte sogar sein, dass die Variable Form1 = nil ist.
Man kann sich vorstellen, dass das sehr unangenehm werden kann.
Du meinst wahrscheinlich die Klasse
TForm!?
Aber Spaß beiseite. Es liegt ja in der Verantwortung des Programmieres, welchem Formular er das AutoComplete zuweist.
AutoComplete1 := TAutoComplete.Create(Form1,'TextDatei',Memo1);
Da könnte auch Form2, Form3 oder sonstwas stehen. In der Komponente selbst greife ich ja nicht direkt auf die Form zu. Ich könnte natürlich noch eine Prüfung einbauen etwa
Wenn AOwner = nil dann löse eine Exeption aus.