E2091 Segment/Offset-Paare werden in 32-Bit-Delphi nicht unterstützt (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

32-Bit-Code verwendet nicht mehr das Segment-/Offset-Adressierungsschema des 16-Bit-Codes.

In 16-Bit-Versionen von Embarcadero Pascal wurden Segment-/Offset-Paare bei der Deklaration absoluter Variablen und als Argumente für die Standardfunktion Ptr verwendet.

In 32-Bit-Programmen für den Protected Mode sollten Sie keine absoluten Adressen verwenden. Rufen Sie stattdessen die entsprechenden Funktionen der Win32-API auf.


program Produce;

var
  VideoMode : Integer absolute $0040:$0049;

begin
  Writeln( Byte(Ptr($0040,$0049)^) );
end.
	program Solve;
(* Diese Version wird zwar compiliert, ist jedoch nicht lauffähig. Verwenden Sie keine absoluten Adressen! *)
var
  VideoMode : Integer absolute $0040*16+$0049;

begin
  Writeln( Byte(Ptr($0040*16+$0049)^) );
end.
32-Bit-Pascal nicht unterstutzt (Delphi)}}