type
TForm1 =
class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
AClass =
class(TObject)
protected
FRelationList: TStringList;
HasReadRelationListFromDB: Boolean;
function GetiNumMembers: smallint;
function GetRelationList: TStringlist;
public
constructor Create(X:
array of const);
property RelationList: TStringList
read GetRelationList;
property NumberOfMembers: smallint
read GetiNumMembers;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var c:AClass;
begin
c:=AClass.Create([1]);
c.NumberOfMembers;
end;
constructor AClass.Create(X:
array of const);
// *************************************************
var
key:
string;
begin
inherited Create;
HasReadRelationListFromDB := false;
FRelationList :=
nil;
end;
function AClass.GetiNumMembers: smallint;
// ............................................
begin
MessageDlg(inttostr(RelationList.Count), mtInformation, [mbOK], 0);
end;
function AClass.GetRelationList: TStringList;
begin
if not HasReadRelationListFromDB
then //<< Hier wird HasReadRelationListFromDB als true im Debugger angezeigt.
begin
HasReadRelationListFromDB := true;
// << Diese Zeile wird nie erreicht
FRelationList := TStringList.Create;
// read someting from a db.
end;
Result := FRelationList;
end;