AGB  ·  Datenschutz  ·  Impressum  







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

auf sich selbst verweisende Klassen?

Ein Thema von tableD · begonnen am 21. Jan 2004 · letzter Beitrag vom 21. Jan 2004
Antwort Antwort
tableD

Registriert seit: 8. Okt 2003
24 Beiträge
 
#1

auf sich selbst verweisende Klassen?

  Alt 21. Jan 2004, 15:11
Ich möchte eine Klasse erstellen die wieder auf sich selbst
verweist. Das geht aber nicht so wie ich das Dachte, kann
mir jmd helfen.,

Delphi-Quellcode:
   type
       TCommandList = class
              command: String;
         execute: Boolean;
         subCommands: Array of PCommandList; // <--??
       end;


   type
       PCommandList = ^TCommmandList;
oder mit einem Pointer aber ich weiß trotzdem nicht
wie das funktionieren soll, da der Pointer erst unterhalb
der Classesdefinition auftaucht, d.h. auch nicht in er Klasse
TCommandList verwendet werden kann.

Kann mir jmd helfen?

[edit=sakura] [delphi]-Tags gesetzt Mfg, sakura[/edit]
- - Einbildung ist auch 'ne Bildung - -
  Mit Zitat antworten Zitat
Vjay

Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
 
Delphi 7 Professional
 
#2

Re: auf sich selbst verweisende Klassen?

  Alt 21. Jan 2004, 15:13
So gehts auf jeden

Delphi-Quellcode:
type
 PCommandList = ^TCommmandList;
 TCommandList = class
  command: String;
  execute: Boolean;
  subCommands: Array of PCommandList; // <--??
 end;
Und so glaube ich auch, bin aber nicht sicher.

Delphi-Quellcode:
type
 TCommandList = class;
 TCommandList = class
  command: String;
  execute: Boolean;
  subCommands: Array of TCommandList; // <--??
 end;
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: auf sich selbst verweisende Klassen?

  Alt 21. Jan 2004, 15:14
Du würdest keine Pointer auf Klassen brauchen, da Klassen intern eh Pointer sind

Code:
   type
       TCommandList = class
              command: String;
         execute: Boolean;
         subCommands: Array of [color=#ff0000]T[/color]CommandList;
       end;
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: auf sich selbst verweisende Klassen?

  Alt 21. Jan 2004, 15:14
Die erste Zeile ist nicht falsch, aber auch nicht nötig

Code:
type
 [s]TCommandList = class;[/s]
 TCommandList = class
  command: String;
  execute: Boolean;
  subCommands: Array of TCommandList; // <--?? 
 end;
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Vjay

Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
 
Delphi 7 Professional
 
#5

Re: auf sich selbst verweisende Klassen?

  Alt 21. Jan 2004, 15:19
Naja dachte jetzt dass man die vorher bekannt machen muss, weil das Objekt noch nicht zuende deklariert ist.

Weil verstehe sonst garnicht warum dieser Thread existiert ^^.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: auf sich selbst verweisende Klassen?

  Alt 21. Jan 2004, 15:21
Zitat von Vjay:
Weil verstehe sonst garnicht warum dieser Thread existiert ^^.
Weil er es unbedingt mit einem Pointer machen will, welcher dann aber in Wirklichkeit (wahrscheinlich unwissentlich) ein Pointer auf einen Pointer auf ein Objekt ist

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#7

Re: auf sich selbst verweisende Klassen?

  Alt 21. Jan 2004, 15:37
Warum sollte man sowas machen wollen?

Das geht doch ins unendliche und gibt einen Stack-Überlauf.

grüße, daniel
Daniel
Testen ist feige!
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: auf sich selbst verweisende Klassen?

  Alt 21. Jan 2004, 15:44
Zitat von Sanchez:
Warum sollte man sowas machen wollen?
Frage nicht

Zitat von Sanchez:
Das geht doch ins unendliche und gibt einen Stack-Überlauf.
Wieso, es funktioniert, wenn man weiß, was man tut.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#9

Re: auf sich selbst verweisende Klassen?

  Alt 21. Jan 2004, 15:47
Stimmt, aber von von jedem Objekt das subcommands Array größer 0 ist, dann ist vorbei.
Daniel
Testen ist feige!
  Mit Zitat antworten Zitat
Vjay

Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
 
Delphi 7 Professional
 
#10

Re: auf sich selbst verweisende Klassen?

  Alt 21. Jan 2004, 15:47
@Sanchez das funktioniert, da das Array ja vorerst keine Objekte enthält.
Die Einträge müssen ja erst created werden und belegen dann ja erst Speicher.
  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 04:44 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