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?