Destroy besser nicht direkt aufrufen. (steht übrigens auch in der
OH)
Wenn du auf NIL prüfen willst, dann mußt du das natürlich auch setzen.
Delphi-Quellcode:
procedure loeschen;
begin
blocks[1,2].Free;
blocks[1,2] := nil;
end;
procedure istVorhanden;
begin
if not Assigned(blocks[1,2]) then // sowas ist auch möglich
machWas;
end;
Oder als eine gemeinsame Funktion:
Delphi-Quellcode:
procedure loeschen;
begin
FreeAndNil(blocks[1,2]);
end;
FreeAndNil setzt die Variable "sicher" auf NIL, denn eigentlich müßte sie NilAndFree heißen.
Dort wird erst die Variable auf NIL gesetzt und erst dann .Free aufgerufen.
Selbst Wenn es im Free knallt (
Exception), dann ist die Variable dennoch NIL.
[edit]
Oh, eine RedBox ( die lebt doch noch? ).
Egal, diemal ignorier ich dich einfach