Echt toll, dass man so plattformunabhängigen Code fast nicht mehr schreiben kann, ohne massig IFDEFs.
Oder man macht sich einen class helper:
Delphi-Quellcode:
type
TObjectHelper = class helper for TObject
function IsValid: Boolean;
end;
function TObjectHelper.IsValid: Boolean;
begin
Result := Assigned(Self);
{$IFDEF AUTOREFCOUNT}
if Result then
Result := not Disposed;
{$ENDIF}
end;
oder eine gleichwertige Hilfsfunktion:
Delphi-Quellcode:
function InstanceIsValid(Instance: TObject): Boolean;
begin
Result := Assigned(Instance);
{$IFDEF AUTOREFCOUNT}
if Result then
Result := not Instance.Disposed;
{$ENDIF}
end;