Einzelnen Beitrag anzeigen

juelin

Registriert seit: 9. Mai 2006
Ort: Mannheim
142 Beiträge
 
Delphi XE5 Professional
 
#1

unerwatete Ergibnisse in Variablen

  Alt 10. Mai 2021, 19:42
Hallo Forum,
ich habe Delphi 10.3.3 und Windows 10.

Meine Procedure xyz bringt unerwartete Ergebnisse:
Die procedure rufe ich zuerst in Form1 auf. Das Ergibnis stimmt. (hw2=255)
Dananch rufe ich die procedure in Form2 auf. Auch hier stimmt das Erginis. (hw2=255)
Dann gehe ich wieder zurück in Form1 und rufe die procedure auf. Das Ergibnis stimmt nicht mehr. (hw2=-16129)
ha.dbyte1 ist in allen Fällen immer 255.

Delphi-Quellcode:
type tdb1bytearray = record
  dbyte1: Byte;
end;

procedure Form1.xyz
  var ha: tdb1bytearray;
  var hq2: ^SmallInt;
  var hw2: SmallInt;
  var h1: integer;
begin

      h1:=FileRead(h2, ha, 1);
      h1:=Ord(ha.dbyte1);
      if h1 > 127 then
      begin
        hq2:=@ha;
        hw2:=hq2^;
        if hw2 <> 255 then fdsreturn:=36;
      end;

end;
Hat jemand eine Idee?
Danke und Gruß
Jürgen
Jürgen Linder

Geändert von juelin (10. Mai 2021 um 19:48 Uhr)
  Mit Zitat antworten Zitat