Autor Beitrag
ralfos
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 12.08.04 15:34 
Hallo!

Wie ist es möglich, Daten zwisch 2 Klassen auszutauschen? Das Problem darin besteht, dass die eine Klasse ein Property besitz und in dessen write-Methode auf die Methode einer anderen Klasse zugegriffen werden muss, die allerdings diese Klasse als Typ selbst benötigt.

Gibt es so eine Art Vor-Deklaration von Klassen, so dass man in beiden Klassen auf die komplette Struktur der jeweils anderen zugreifen kann?

Vielen dank im Voraus

Ralf


Moderiert von user profile iconKlabautermann: Topic aus Sonstiges verschoben am Fr 13.08.2004 um 07:34
maxk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1696
Erhaltene Danke: 1

Win XP, Debian Lenny
Delphi 6 Personal
BeitragVerfasst: Do 12.08.04 15:45 
Hallo im :welcome: im Delphi-Forum!
Meinst du das?
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
type
 ClassB=class;
 ClassA=class(TObject);
  procedure Hallo;
  Class:ClassB;
 end;
 ClassB=class(TObject);
  procedure Hallo2;
 end;

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
ralfos Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 12.08.04 19:29 
Vielen dank erstmal!

Der Code ist leider nicht compilierbar, er bringt mir nur eine Fehlermeldung!


Wenn ich die beiden Classen in verschiedenen Units habe, ist sowas eventuell auch noch realisierbar, so einer art Header??


Danke

Ralf
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Do 12.08.04 19:33 
ralfos hat folgendes geschrieben:
Der Code ist leider nicht compilierbar, er bringt mir nur eine Fehlermeldung!

Das war ja auch nur ein Beispiel.

@maxk: Was hat das "Class:ClassB;" in der Klassendefinition von ClassA auf sich?

Gruß
Tino
maxk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1696
Erhaltene Danke: 1

Win XP, Debian Lenny
Delphi 6 Personal
BeitragVerfasst: Do 12.08.04 19:40 
Stimmt, erstens müsste es über der Prozedur stehen, zweitens würde Delphi den Namen "Class" nicht als Bezeichner zulassen, naja. Ich wollte damit symbolisieren, dass man ClassB benutzten kann - eben nur ein Beispiel :wink:

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
ralfos Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 12.08.04 21:47 
Vielen Vielen Dank!!!!

Jetzt hat auch bei mir geklappt.

Gruß
ralfos Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 12.08.04 22:12 
Habe noch ein kleines Problem!


Wenn ich nun die beiden Klassen in 2 Units ausgelagert habe und trotzdem jeweils von beiden auf beide zugreifen will, wie ist dies dann möglich?

Ralf
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Do 12.08.04 22:27 
Indem du beide von einer Oberklasse ableitest.

Funktioniert aber nur, wenn du dies ohne Zyklische Abhängigkeiten implementierst, d.h. du darfst in mindestens einer Unit die andere nicht im Interface-Bereich referenzieren. Delphi wird dir aber in dem Fall einen entsprechenden Fehler ausgeben ...

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
ralfos Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Fr 13.08.04 07:26 
Zitat:
Indem du beide von einer Oberklasse ableitest.


Wenn ich das mache, hat die Oberklasse einen anderen Namen, wenn ich nun diesen in einer der beiden Klassen einbinde, dann hab ich nur die Eigenschaften der Oberklasse?! Oder wie hast du das gemeint?