Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#19

AW: Codeoptimierung verursacht probleme

  Alt 20. Jan 2017, 17:31
Auf welchen Datentyp mappt LONG_PTR in deiner Delphi-Version?
  LONG_PTR = Longint;

Habe mir dein Teil mal angesehen.
Du versuchst Propertys zu speichern btw.. zu setzen die du gar nicht zugewiesen hast.

Damit dein Beispiel funktioniert muss erst mal EXTEND_EXTRA auf 56Bytes festgelegt werden.
Dann must du den Speicher dafür reservieren.. dazu must du den WindowStyle der Form verändern
und für "cbWndExtra" die Bytes zuweisen.
Davon das die Resourcen nicht freigegeben werden mal ganz abgesehen.
ReleaseDC(Form1.Handle, DesktopDeviceContext);

Bsp.
Delphi-Quellcode:
const
  FORM_BACKPaintBitmap = 14; // Memory Bitmap'
  EXTEND_EXTRA = FORM_BACKPaintBitmap;

wc: TWndClassEx;
wc.cbWndExtra := EXTEND_EXTRA * 4; // = 56Byte
so wie du das versucht hast wird das nix.
Du setzt irgendwelche propertys ins nirvana.
Letztendlich tut der Code eh nichts da kein Handle angegeben worden ist. (Rückgabe immer 0)
Warum da jetzt ein ERangeError kommt keine Ahnung..
Get/SetWindowLong wird ja nie aufgerufen.

gruss

Geändert von EWeiss (20. Jan 2017 um 17:38 Uhr)
  Mit Zitat antworten Zitat