Delphi-Quellcode:
TYPE
TDATARecord = RECORD
A, B: Integer;
END;
function IsDataOK(var aDataRecord: TDataRecord): Boolean;
begin
if aDataRecord.A < 0 then aDataRecord.A := 0;
Result := False; // es sollte ja eh immer False rauskommen, oder?
end;
procedure ProcA(aDataRecord: TDataRecord);
begin
aDataRecord.A := -1; // zur Sicherheit nochmal neu bespielen mit falschem wert
if not IsDataOK(aDataRecord) then
Exit; // wozu auch immer du hier stehen magst.
ShowMessage( IntToStr(aDataRecord.A) ); // ist immer 0.
end;
procedure TForm1.Button1Click(Sender: TObject);
var
DataRecord: TDataRecord;
begin
DataRecord.A := -1;
DataRecord.B := 2;
ProcA(DataRecord);
end;
Ich hatte es nachgebastelt ohne auf Fehler zu stossen. Hat sich ja nun eh erübrigt denk ich mal.