Mehrfachvererbung
-
Hallo zusammen,
Wie funktioniert Mehrfachvererbung im BCB genau?
ich hab's so versucht:class TTrace_Frm : public TForm, public TThread // Mehrfachvererbung { __published: // Von der IDE verwaltete Komponenten TMemo *Memo1; private: // Anwender-Deklarationen public: // Anwender-Deklarationen __fastcall TTrace_Frm(TComponent* Owner); };
Da motzt der BCB aber immer "Fehler im Modul TraceWindow: Deklaration der Klasse TTrace_Frm fehlt oder ist fehlerhaft"
-
Ich erinnere mich nur ganz dunkel, aber kann es sein, dass man keine Klasse von zwei VCL Klassen ableiten kann?
-
nirsaja schrieb:
Ich erinnere mich nur ganz dunkel, aber kann es sein, dass man keine Klasse von zwei VCL Klassen ableiten kann?
hm, schade...
-
Hallo,
Zum Theam Mehrfachverebung und VCL ist hier
http://www.c-plusplus.net/forum/viewtopic.php?t=48437&highlight=mehrfachvererbung
schon was geschrieben worden.
Die Frage ist hier eher wozu du sowas machen willst. Wenn du eine Form haben willst, die in einem Thread läuft, bietet es sich eher an die Form zum Member des Threads zu machen.Ciao
-
Braunstein schrieb:
<fullquote gelöscht>
hm, meinst du sowas?:
class TTrace_Frm : public TThread, public TForm // Mehrfachvererbung { protected: void __fastcall Execute(); __published: // Von der IDE verwaltete Komponenten TMemo *Memo1; private: // Anwender-Deklarationen public: // Anwender-Deklarationen __fastcall TTrace_Frm(bool CreateSuspended); __fastcall ~TTrace_Frm(void); };
und dann sollte er nicht mehr motzen?
ähm, und wie krieg ich das so zurecht, dass ich das Form sehen und zeichnen kann?Edit:
Zitate bitte auf das Notwendigste beschränken. Danke!
-
Das meinte ich eigentlich nicht.
Eher so:
1. erzeuge deine gewünschte Form wie immer
2. erzeuge deine THreadklasse mit einer Variablen vom Typ deiner Form als member
3. erzeuge bei starten des Threads eine Instanz deiner Form und zeige sie an
4. beim Schliessen des Threads Speicher aufräumen