Hier kommt eine Beispielklasse, die zeigt wie man mit wenig Aufwand
alle Properties überprüfen kann.
Delphi-Quellcode:
interface
type
TMeinWizzard = class(TObject)
private
FModifyCount : Integer; // Anzahl geänderter Properties
FStringProp: string;
FIntProp: Integer;
// Hilfsfunktionen, für das interne Zuweisen von Properties
procedure CheckInteger(var p:Integer; value:Integer);
procedure CheckString(var p:string; const value:string);
procedure SetStringProp(const Value: string);
procedure SetIntProp(const Value: Integer);
public
// zwei beispielhafte Properties
property StringProp:string read FStringProp write SetStringProp;
property IntProp:Integer read FIntProp write SetIntProp;
// Anzahl der Änderungen
property ModifyCount:Integer read FModifyCount write FModifyCount;
end;
implementation
{ TMeinWizzard }
procedure TMeinWizzard.CheckInteger(var p: Integer; value: Integer);
begin
if p <> value then
begin
p := value;
Inc(FModifyCount);
end;
end;
procedure TMeinWizzard.CheckString(var p: string; const value: string);
begin
if p <> value then
begin
p := value;
Inc(FModifyCount);
end;
end;
procedure TMeinWizzard.SetIntProp(const Value: Integer);
begin
CheckInteger(FIntProp, Value);
end;
procedure TMeinWizzard.SetStringProp(const Value: string);
begin
Checkstring(FStringProp, Value);
end;