Delphi-Quellcode:
// procedure 2
procedure TDataUnit.ProcA(aDataRecord: TDataRecord);
begin
if not IsDataOK(DataRecord) then
Exit;
showmessage( aDataRecord.A ); // ist noch immer -1, sollte 0 sein.
// ansonsten erzeuge hier Klasseninstanz von XYZ anhand der Daten von DataRecord + schiebe diese Instanz in eine generische TList.
end;
Ein " if not IsDataOK(aDataRecord) then" sollte es beheben, oder?