AGB  ·  Datenschutz  ·  Impressum  







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

Recursives Interface

Ein Thema von brieker · begonnen am 25. Jun 2015 · letzter Beitrag vom 25. Jun 2015
Antwort Antwort
brieker

Registriert seit: 2. Jun 2015
11 Beiträge
 
Delphi XE7 Architect
 
#1

Recursives Interface

  Alt 25. Jun 2015, 10:30
Moin

ich habe mit einem Problem zu kämpfen.

Ich versuche gerade so ein Interface zu bauen.

Code:
IModelItem = interface(IInterface)
  function GetChild(aIndex: Integer): IModelItem;
  procedure SetChild(aIndex: Integer; aItem: IModelItem);
  procedure AddChild(aItem: IModelItem);
  property Child[aIndex: Integer]: IModelItem read GetChild write SetChild;
end;
Scheinbar kann man so ein konstrukt aber nicht machen.
Weis jemand wie es richtig wäre oder ob man das ganz anders machen muss.

CU Ben
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#2

AW: Recursives Interface

  Alt 25. Jun 2015, 10:33
Vorwärtsdeklarationen sind meist die Lösung für diese Art von Problemen.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Recursives Interface

  Alt 25. Jun 2015, 10:36
Was für einen Fehler zeigt der Compiler an?
Markus Kinzler
  Mit Zitat antworten Zitat
Mikkey

Registriert seit: 5. Aug 2013
265 Beiträge
 
#4

AW: Recursives Interface

  Alt 25. Jun 2015, 10:36
Bei mir compiliert Dein Code, was bekommst Du denn für eine Fehlermeldung?
  Mit Zitat antworten Zitat
brieker

Registriert seit: 2. Jun 2015
11 Beiträge
 
Delphi XE7 Architect
 
#5

AW: Recursives Interface

  Alt 25. Jun 2015, 10:43
Danke das mit der Vorwärtsdeklaration wars.
Ich hab es nur bisher falsch geschrieben und deshalb hab ich gedacht das es nicht geht.

So funktioniert es Danke.

Code:
IModelItem = interface;

IModelItem = interface(IInterface)
  function GetChild(aIndex: Integer): IModelItem;
  procedure SetChild(aIndex: Integer; aItem: IModelItem);
  procedure AddChild(aItem: IModelItem);
  property Child[aIndex: Integer]: IModelItem read GetChild write SetChild;
end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#6

AW: Recursives Interface

  Alt 25. Jun 2015, 11:05
In Delphi sollte es auch ohne gehn.

Lazarus, oder ein richtig altes Delphi? (das sind Dinge, die man besser mit erwähnen sollte und teilweise auch in seinem ForenProfil angeben kann)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
brieker

Registriert seit: 2. Jun 2015
11 Beiträge
 
Delphi XE7 Architect
 
#7

AW: Recursives Interface

  Alt 25. Jun 2015, 12:29
Delphi XE7 ist ja nun wirklich nicht richtig alt auch wenn es XE8 schon gibt.

Das Profil werde ich noch ändern.

CU Ben
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#8

AW: Recursives Interface

  Alt 25. Jun 2015, 14:30
Komisch.

Wie lautete denn genau die Fehlermeldung? (und eventuell für welche Plattform du kompilieren wolltest)


Strg+C funktioniert in (Fehler)Dialogen und unten im Compiler-Log.
Und es lässt sich dann problemlos hier als Text reinkopieren, womöglich sogar mit [QUOTE]...[/QUOTE] drumrum.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  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 23:38 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