Thema: Delphi vorwärts deklaration

Einzelnen Beitrag anzeigen

NicoDE
(Gast)

n/a Beiträge
 
#2

Re: vorwärts deklaration

  Alt 3. Feb 2006, 10:47
Vorwärtsdeklarationen sind nur innerhalb eines Definitionsblocks (type) erlaubt.

Ein Beispiel für Klassen die sich gegenseitig verwenden:
Delphi-Quellcode:
type
  // Deklariere TBar vorwärts, damit er in TFoo verwendet werden kann
  TBar = class;

  // Deklariere TFoo (verwendet TBar)
  TFoo = class
  private
    FBar: TBar;
  public
    property Bar: TBar read FBar;
  end;

  // Deklariere TBar (verwendet TFoo)
  TBar = class
  private
    FFoo: TFoo;
  public
    property Foo: TFoo read FFoo;
  end;
Ein Beispiel für Strukturen die sich gegenseitig verwenden:
Delphi-Quellcode:
type
  // Deklariere Zeiger auf TBar, damit er in TFoo verwendet werden kann
  PBar = ^TBar;

  // Deklariere TFoo (verwendet PBar)
  PFoo = ^TFoo;
  TFoo = record
    Bar: PBar;
  end;

  // Deklariere TBar (verwendet PFoo)
  TBar = record
    Foo: PFoo;
  end;
  Mit Zitat antworten Zitat