Hi Sanchez,
folgendes würde ich ändern, da es einerseits sauberer ist und andererseits sich nicht darauf verlässt, dass die class-method Variable
FInstance eines Tages durch Compileränderungen doch zerstört wird.
Delphi-Quellcode:
var
FInstance: TTest =
nil;
class function TTest.AccessInstance(Request: Integer): TTest;
begin
case Request
of
0 : ;
1 :
if not Assigned(FInstance)
then FInstance := CreateInstance;
2 : FInstance :=
nil;
else
raise Exception.CreateFmt('
Illegal request %d in AccessInstance', [Request]);
end;
Result := FInstance;
end;
...
...