![]() |
Forward-Deklaration über zwei Units
Hallo,
ist es möglich eine Forward-Deklaration zu machen, für eine Klasse die in einer anderen Unit deklariert ist? Also folgendes:
Delphi-Quellcode:
TDatenThread wird in ThreadUnit "erzeugt".
type
TDatenThread = class; type TMainForm = class(TForm) private { Private-Deklarationen } public { Public-Deklarationen } MD_Thread : TDatenThread; end; uses ThreadUnit; In der Zeile
Delphi-Quellcode:
bekomm ich die Meldung:
TDatenThread = class;
Zitat:
Geht das denn überhaupt? |
AW: Forward-Deklaration über zwei Units
Nein, der Typ muss in einer Unit vollständig deklariert werden. Eventuell kannst du das aber mit einem Interface lösen.
|
AW: Forward-Deklaration über zwei Units
Jupp, die einzige Möglichkeit sind Interfaces oder virtuelle Klassen.
Du erstellst dir das Interface der entsprechenden Klassen virtuell+abstract in der anderen Unit, leitest dann davon ab und füllst die Klasse mit Leben (Funktionen). |
AW: Forward-Deklaration über zwei Units
Zitat:
Über ein Interface will ich es nicht tun! - Die forward-Deklaration sollte nur zur Schönheit sein.... |
AW: Forward-Deklaration über zwei Units
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz