AGB  ·  Datenschutz  ·  Impressum  







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

Klassen-Querverweise

Ein Thema von mirage228 · begonnen am 20. Dez 2003 · letzter Beitrag vom 9. Jun 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#1

Klassen-Querverweise

  Alt 20. Dez 2003, 18:34
Hallo,

ich habe 2 Klassen, welche jeweils eine Membervariable der anderen Klassen haben. Wie kann ich die beiden Klassen so deklarieren, da dieser "Querverweis" möglich ist?
Bisher bekomme ich in der Klasse die als erstes steht, logischweise, eine Fehlermeldung "Undefinierter Bezeichner" beim dekalieren der Variable des Typs von der anderen Klassen...

mfG
mirage228
David F.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Klassen-Querverweise

  Alt 20. Dez 2003, 18:37
Hallo,
das geht so:

Delphi-Quellcode:
Type
  
 TMyObject 2 = class;
 
 TMyObject 1 = class
 ...
 property MyObject2 : TMyObject2 ...
 ...
 
 TMyObject2 = class
 ...
 property MyObject1 : TMyObject1 ...
 ...
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

Re: Klassen-Querverweise

  Alt 20. Dez 2003, 18:43
So lange du beide Klassen in einer Unit hast, kannst du forward Klassen benutzen:
Delphi-Quellcode:
type
  TMyClass = class;
  TMySecondClass = class;

  TMyClass = class(TXy)
    FSecond: TMySecondClass;
  end;
  TMySecondClass = class(TAb)
    FFirst: TMyClass;
  end;
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Klassen-Querverweise

  Alt 20. Dez 2003, 19:06
Danke Leute. Beides funktioniert einwandfrei.

MfG
mirage228
David F.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Klassen-Querverweise

  Alt 20. Dez 2003, 19:10
Hallo
Zitat von mirage228:
Beides funktioniert einwandfrei.
kein Wunder. Ist ja auch zweimal der gleiche Vorschlag.
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#6

Re: Klassen-Querverweise

  Alt 9. Jun 2005, 17:57
Zitat von jbg:
So lange du beide Klassen in einer Unit hast, kannst du forward Klassen benutzen:
Delphi-Quellcode:
type
  TMyClass = class;
  TMySecondClass = class;

  TMyClass = class(TXy)
    FSecond: TMySecondClass;
  end;
  TMySecondClass = class(TAb)
    FFirst: TMyClass;
  end;
*uralten Thread auskram*, aber es ist genau meine Frage!

Kann mal jemand jgb's Beitrag so abändern, dass er mit "Wenn du allerdings nicht beide Klassen in einer Unit hast, ..." anfängt?
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#7

Re: Klassen-Querverweise

  Alt 9. Jun 2005, 18:03
Zitat von nailor:
Kann mal jemand jgb's Beitrag so abändern, dass er mit "Wenn du allerdings nicht beide Klassen in einer Unit hast, ..." anfängt?
C#-verwöhnt?
Wenn du ohne abstrakte Vorgänger/Interfaces arbeiten willst bräuchtest du einen multipass compiler. (wie in Java, C#, Chrome,...)
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#8

Re: Klassen-Querverweise

  Alt 9. Jun 2005, 18:09
c# verwöhnt!

ist der langen rede kurzer sinn "nein"?
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#9

Re: Klassen-Querverweise

  Alt 9. Jun 2005, 18:31
Zitat von nailor:
c# verwöhnt!

ist der langen rede kurzer sinn "nein"?
Hübsch wird's nicht werden aber es geht halbwegs...
In eine Unit packst du nur die voneinander abhängigen Interfaces oder auch abstrakte Klassen, deren Nachfolger du dann in einzelne Dateien packen kannst.
So mache ich es jedenfalls meistens. (Ich hasse es wenn Units größer als 1-2 Bildschirme werden. )
Und aus lauter Faulheit ein Beispiel zu tippen (was du bestimmt gleich erfragen würdest. )
Hier habe ich letztlich etwas Code hochgeladen, der so strukturiert sein sollte.
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#10

Re: Klassen-Querverweise

  Alt 9. Jun 2005, 19:10
wie sähe es bei folgendem beispiel aus?

Delphi-Quellcode:
unit uTest;

interface

uses uTest2

type
  Parent = class
    fChild : Child;
  end;

implementation

end.
Delphi-Quellcode:
unit uTest2;

interface

uses uTest;

type
  Child = class
    fPartent : Parent;
  end;

implementation

end.
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:07 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