Hallo,
ich habe zwei Varianten eines Threads geschrieben, von denen wahlweise einer ein Problem beackern soll. Mir ist aber unklar, wie ich das datentechnisch strukturieren muss.
Im Prinzip soll das wie folgt funktionieren:
Delphi-Quellcode:
Type
TThread1=class(TThread);
...
TThread2=class(TThread);
...
und im Hauptprogram:
Delphi-Quellcode:
var
MyThread: TThread;
first: boolean;
...
if first then MyThread:=TThread1.Create(Self)
else MyThread:=TThread2.Create(Self);
...
MyThread. ...
...
TThread1 und TThread2 haben dieselbe Daten- und Methodenstruktur, die aber natürlich über die von TThread hinausgeht. Die Methoden selbst unterscheiden sich natürlich (nicht im Namen und der Deklaration aber im Inhalt).
Mein obiges Beispiel läuft im Prinzip sogar, ich kann aber auf Daten und Methoden, die TThread nicht kennt, nicht zugreifen. Ein Typecast würde den Zugriff zwar ermöglichen, ich weiß aber zur Compilezeit ja noch nicht, ob TThread1 oder TThread2 gewählt wird.
Wie strukturiert man so was?