Verdammt, dann habe ich wohl etwas Arbeit vor mir
Häh, wieso das denn? Pack die Felder in eine Klasse, gibt der Klasse ein Synchro-Mechanismus an die Hand und dann geht es ab.
Delphi-Quellcode:
TFoo = class
private
FCS : TCriticalSection;
FValue : string;
function GetValue : string;
procedure SetValue(const Value : string) : string;
public
constructor Create;
destructor Destroy; override;
property Value : string read GetValue write SetValue;
end;
constructor TFoo.Create;
begin
inherited;
FCS := TCriticalSection.Create;
end;
destructor TFoo.Destroy;
begin
FreeAndNil( FCS );
inherited;
end;
function GetValue : string;
begin
FCS.Enter;
try
Result := FValue;
finally
FCS.Leave;
end;
end;
procedure SetValue(const Value : string) : string;
begin
FCS.Enter;
try
FValue := Value;
finally
FCS.Leave;
end;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)