Dann bleibt ja nichts anderes übrig als ein if vor die Funktion zu setzen in diesem Falle. Denn der Parameter ist die Instanz selbst.
Nein.
Du kannst auch in der Funktion selbst prüfen, ob der übergebene Wert assigned ist. Kurzes Beispiel:
Delphi-Quellcode:
function MeineFunktion(aForm : TForm) : Boolean;
begin
Result := Assigned(aForm);
if Result then
begin
// Position der Form setzen
end;
end;
Spätestens beim Aufruf von MeineFunktion() kracht es dann.
Delphi-Quellcode:
procedure MeineFunktion(const aForm : TForm);
begin
Mach etwas mit aForm
end;
// Kein Problem
if Assigned(aForm ) then
MeineFunktion(aForm);
// Problem (egal ob man Assigned in MeineFunktion hat oder nicht)
MeineFunktion(aForm);