Moi.
Ich komm da nicht ganz weiter. Also folgende Ausgangssituation:
Ich habe mehrere Klassen, die gleichen Aufbaue haben, deshalb haben alle dasselbe Interface ( Folgend iHaupt genannt).
Also jede meiner Klassen hat die Prozeduren, die ich im Interface hingeschrieben habe.
Nun wollte ich diese Objekte "sammeln"
Hab ein "array[0..5] of iHaupt" erstellt.
Sobald ich aber versuche was auszuführen ( array[0].MainLoop; ) bekomme ich eine
Exception:
Projekt1.exe raised exception class EAccessViolation with message...
Da ich bezweifle, dass die Adresse in irgendeiner weise hilfreich ist, hab ich mir gespart die abzutippen.
Auf alle Fälle hab ich im Create Ereignis des Objekts mit dem array sowas noch drin:
array[0] := tBeispiel1.Create;
Hab auch testweise ein Array durch eine Variable ersetzt, die ich wieder als iHaupt deklariert habe.
Bekomme dieselbe Fehlernachricht. Erst wenn ich die Variable von iHaupt auf tBeispiel1 ändere, funktioniert es.
Meine Frage nun:
Wie kann ich nun meine Klassen zusammenfassen und ansteuern, ohne dabei explizit wissen zu müssen, welches Klasse es genau ist?
Alle Klasse erben ja das Interface und sehen nach außen hin gleich aus.