Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

AW: D11.2 64Bit inaccessible value

  Alt 9. Sep 2022, 02:36
Versuche mal lPixel.rgbGreen

Delphi hat hier standardmäßig eine implizite Dereferenzierung, wenn man auf ein Feld oder Methode eines Record-Pointers zugreift.
Vielleicht funktioniert es mit dem Standard-Verhalten besser, als wenn du es explizit/selber dereferenzierst.



oder
Delphi-Quellcode:
var
  p32: PByte;
  //lPixel: PRGBQuad;
begin
  ...

    while X < bm.bmWidth do
    begin
      M := X;

      var lPixel := PRGBQuad(integer(p32) + X * sizeof(cardinal));
      while X < bm.bmWidth do



Ach ja, wenn dein Code mal knallt, weil du Integer(p32) anstatt NativeInt(p32) oder IntPtr(p32) machst, dann zurecht. (ebenso bei integer(bm.bmBits) )
Zitat:
hat auch 64Bit funktioniert
dann hattest zu viel du Glück, aber irgendwann ist es zuende.


lPixel := p32 + X; (falls niemand die Pointer-Arithmetic deaktiviert hat )


Wo ist K definiert?


Was macht MakeColor? Und ich seh da ein 0 ... Ist dann and $FFFFFF wirklich nötig?
Delphi-Referenz durchsuchenRGB
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 9. Sep 2022 um 02:39 Uhr)
  Mit Zitat antworten Zitat