AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Klassen

Ein Thema von Dawn87 · begonnen am 17. Jun 2007 · letzter Beitrag vom 17. Jun 2007
Antwort Antwort
Dawn87

Registriert seit: 15. Feb 2007
Ort: Lüdenscheid
189 Beiträge
 
Delphi XE5 Professional
 
#1

Problem mit Klassen

  Alt 17. Jun 2007, 13:55
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:
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.
uTopic:
Delphi-Quellcode:
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.
Kann mir da jemand weiterhelfen?

Grüße
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Problem mit Klassen

  Alt 17. Jun 2007, 13:57
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.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Problem mit Klassen

  Alt 17. Jun 2007, 13:58
Hallo Stefan,

die Unit uTopic sieht von der Unit uProject nur das, was dort im interface deklariert wurde.

Grüße vom marabu
  Mit Zitat antworten Zitat
Dawn87

Registriert seit: 15. Feb 2007
Ort: Lüdenscheid
189 Beiträge
 
Delphi XE5 Professional
 
#4

Re: Problem mit Klassen

  Alt 17. Jun 2007, 13:59
Hallo!

Vielen Dank, hat funktioniert.

Wo ist der Unterschied zwischen dem Interface und Implementation Teil?

Grüße
Stefan
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Problem mit Klassen

  Alt 17. Jun 2007, 14:02
Zitat:
Wo ist der Unterschied zwischen dem Interface und Implementation Teil?
Im Interface sthet alles, was nach außen bekannt gegeben wird, im Implemtierungsteil die "privaten" Dinge, die nur innerhalb der Unit bekannt sind.
Markus Kinzler
  Mit Zitat antworten Zitat
Dawn87

Registriert seit: 15. Feb 2007
Ort: Lüdenscheid
189 Beiträge
 
Delphi XE5 Professional
 
#6

Re: Problem mit Klassen

  Alt 17. Jun 2007, 14:08
Achso,

danke!

Grüße
Stefan
  Mit Zitat antworten Zitat
Dawn87

Registriert seit: 15. Feb 2007
Ort: Lüdenscheid
189 Beiträge
 
Delphi XE5 Professional
 
#7

Re: Problem mit Klassen

  Alt 17. Jun 2007, 14:31
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Problem mit Klassen

  Alt 17. Jun 2007, 14:35
Entweder geminsam genutzes in 3. Unit auslagern, oder einmal im Interface und einmal unter Implementation
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz