Einzelnen Beitrag anzeigen

barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: ModelMaker und Refresh

  Alt 1. Sep 2004, 12:33
Hallo Sakura,
Zitat von sakura:
Vorneweg. Gewöhne Dir diese Richtung ab. Auch ModelMaker warnt davor, daß so Informationen im Model verloren gehen können. Also entscheide Dich, welche Unit Du wo bearbeitest. Importieren ist dann keine Probleme, aber das stete hin und her ist nicht das Wahre.
Ich habe die Warnung ebenfalls gelesen. Allerdings hatte ich Probleme mein Interface und eine Klasse in einer Unit zu deklarieren.
Delphi-Quellcode:
unit ProblemDomain;

interface

type
  IDatabase = interface; // hier Forward-Dekl., um es TPDObject bekanntzumachen
  TObjectID = type Integer;

  TPDObject = class (TObject)
  private
    FApplication: TApplication;
    {{
    Field FDatabase.
    }

    FDatabase: IDatabase;
    {{
    FID is the state field of the ID property.
    }

    FID: TObjectID;
    function GetID: TObjectID;
  public
    constructor Create(aApplication: TApplication);
    function IDToStr(Value: TObjectID): string;
    procedure Load(PDObject: TPDObject; const ID: TObjectID); virtual;
    procedure Save; virtual;
    function StrToID(Value: String): TObjectID;
    {{
    Property ID is read and run time only.
    }

    property ID: TObjectID read GetID default NotAssigned;
  end;
  
  // Hier die eigentliche Deklaration. Ich weiß nicht, wie ich diese Deklaration (Forward und
  // diese hier) in MM bekanntmache und die Unit erzeuge...
  IDatabase = interface (IInterface)
    procedure Load(PDObject: TPDObject; const ID: TObjectID);
    function save(PDObject: TPDObject): TObjectID;
  end;
Meine Vorgenhensweise: Modell Interface erstellt Modell Klasse 'ProblemDomain' erstellt. Dann Unit für ProblemDomain erzeugt. Anschließend das Interface ebenfalls dieser Unit zugeordnet. Dann fehlt allerdings die Forward-Dekl.
Hast Du einen Tip, wie das gehen könnte?
Gruß,

Barnti
  Mit Zitat antworten Zitat