![]() |
Problem mit Klassen
Hallo,
ich habe ein Problem: Und zwar habe ich 2 Klassen (TProject und TTopic). Die 2. Klasse (TTopic) erwartet im Konstuktor eine Objekt vom Typ TProject (von der 1. Klasse). Die beiden Klassen liegen in unterschiedlichen Units. Leider teilt mir der Compiler mit, dass er in der Unit der Klasse TTopic keinen Typ TProject kennt. Die Unit der Klasse TProject habe ich eingebunden: uProject:
Delphi-Quellcode:
uTopic:
unit uProject;
interface uses Classes, ComCtrls; implementation type TProject = class(TObject) private public constructor Create(tvwSynchron: TTreeView); end; constructor TProject.Create(tvwSynchron: TTreeView); begin end; end.
Delphi-Quellcode:
Kann mir da jemand weiterhelfen?
unit uTopic;
interface uses uProject; implementation type TTopic = class(TObject) private public constructor Create(Project: TProject); // <-- Fehler: Undefinierter Bezeichner "TProject" end; constructor TTopic.Create(Project: TProject); begin end; end. Grüße Stefan |
Re: Problem mit Klassen
Hi,
Du musst die Klasse TProject nach Interface verschieben:
Delphi-Quellcode:
unit uProject;
interface uses Classes, ComCtrls; type TProject = class(TObject) private public constructor Create(tvwSynchron: TTreeView); end; implementation constructor TProject.Create(tvwSynchron: TTreeView); begin end; end. |
Re: Problem mit Klassen
Hallo Stefan,
die Unit uTopic sieht von der Unit uProject nur das, was dort im interface deklariert wurde. Grüße vom marabu |
Re: Problem mit Klassen
Hallo!
Vielen Dank, hat funktioniert. Wo ist der Unterschied zwischen dem Interface und Implementation Teil? Grüße Stefan |
Re: Problem mit Klassen
Zitat:
|
Re: Problem mit Klassen
Achso,
danke! Grüße Stefan |
Re: Problem mit Klassen
Hallo,
hab noch eine Frage zu den Klassen: Ist es möglich, dass sich beide Klassen kennen ohne dass ich die Meldung "Zirkuläre Unit-Referenz" bekomme und ohne dass diese in der selben Unit liegen? Ich möchte aus Gründen der Übersichtligkeit diese in separaten Units haben. Grüße Stefan |
Re: Problem mit Klassen
Entweder geminsam genutzes in 3. Unit auslagern, oder einmal im Interface und einmal unter Implementation
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:00 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