Thema: Delphi Stringlänge parsen

Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#27

AW: Stringlänge parsen

  Alt 4. Sep 2017, 16:57
EDIT:

Graphics: GPGRAPHICS; // Tigü: Hier war ein falscher Typ (Cardinal)
Der Typ ist nicht falsch wenn er das wäre würde mein ganzer Quelltext nicht funktionieren.
Das ist eine Auslegungs Sache wie ich Graphics definiere.
IN VB ist es Long, in PowerBasik ist es DWORD und bei mir ist es Cardinal (DWORD) wenn du so willst.
Ich möchte dich an dieser Stelle ausdrücklich warnen!
Das funktioniert wunderbar für 32-Bit bis ans Ende aller Tage.

Aber unter 64-Bit wirst du schnell merkwürdige Fehler (höchstwahrscheinlich) bekommen (können).
Die GDIPLUS-DLL wird dir 64-Bit Zeiger geben (Länge 8 Byte) und du wirst hart auf 32-Bit Länge casten und damit die Adresse abschneiden.
Das führt unweigerlich zu merkwürdigen Fehlern und Zugriffsverletzungen.
Das gilt auch für alle anderen Typen wie bpsw. Brush, Texture, Gradienten, Pen, Image, Bitmap, StringFormat, FontFamily etc. pp.
  Mit Zitat antworten Zitat