Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Forward Deklaration (https://www.delphipraxis.net/33950-forward-deklaration.html)

barnti 15. Nov 2004 14:55


Forward Deklaration
 
Hallo,

ich habe grade das Problem mehrere Klassen in eine Unit zu packen:
Delphi-Quellcode:
unit InterfaceClass;

interface

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls,
  Forms, Dialogs;

type
  TDBComponentFactory = class (TObject)
  public                                                 // wird erst später deklariert
    function CreateDatabaseComponent(aOwner: TComponent): TDatabase; virtual;
            abstract;
    function CreatePDObject(Index: INteger): TPDObject; virtual; abstract;
  end;
 
  TDatabase = class (TObject)
  public
    procedure CreateDatabase(aOwner: TComponent; Factory: TDBComponentFactory);
  end;
 
  TPDObject = class (TObject)
  public
    function CreatePDObject(aOwner: TComponent; Factory: TDBComponentFactory):
            TPDObject;
  end;
Zwei der drei Deklarationen nehmen Bezug aufeinander(TDatabase und TDBComponentFactory). Wie mache ich denn hier ein Forward-Daklaration?

Steve 15. Nov 2004 15:00

Re: Forward Deklaration
 
Zitat:

Zitat von barnti
Hallo,

ich habe grade das Problem mehrere Klassen in eine Unit zu packen:
Delphi-Quellcode:
type

  TDatabase = class;  // <<--- 
  TPDObject = class;  // <<--- 

  TDBComponentFactory = class (TObject)
  public                                                 // wird erst später deklariert
    function CreateDatabaseComponent(aOwner: TComponent): TDatabase; virtual;
            abstract;
    function CreatePDObject(Index: INteger): TPDObject; virtual; abstract;
  end;
 
  TDatabase = class (TObject)
  public
    procedure CreateDatabase(aOwner: TComponent; Factory: TDBComponentFactory);
  end;
 
  TPDObject = class (TObject)
  public
    function CreatePDObject(aOwner: TComponent; Factory: TDBComponentFactory):
            TPDObject;
  end;

Siehe Source :)

Gruß
Stephan :dance:

barnti 15. Nov 2004 15:06

Re: Forward Deklaration
 
Hi,

das war ja gar nicht so schwer!? :oops:
Danke Steve!!

Steve 15. Nov 2004 15:06

Re: Forward Deklaration
 
Nix zu danken ;)

Gruß
Stephan :dance:


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz