Beachte die Parameter der Funktion
GetWindowLongPtr: DWL
P_DLGPROC. Ist bestimmt eine andere Konstante.
Und nutze GetLastError, wenn was nicht passt, um herauszufinden, woran es klemmt! Noch kann ich zählen, wie oft ich diese Empfehlung bereits gegeben habe.
PS: Sorry, falls die Empfehlung dich nerven sollte, aber du bist lange genug dabei, dass du es eigentlich bereits wissen solltest.
Grüße
Dalai
Diese Konstante gibt es in Delphi nicht.
Dort kenne ich nur DWL_DLGPROC
Zitat:
Sorry, falls die Empfehlung dich nerven sollte
Kein problem
Aber auch ein GetLastError hätte mir nicht weitergeholfen woher sollte ich wissen das es eine andere Konstante gibt?
Danke!
PS:
Habe es gefunden aber nicht in den Delphi Headern..
DWLP_DLGPROC = Sizeof(LRESULT);
Verstehe ich nicht aber gut ist wie es ist.
Funktioniert mit 32Bit und 64
Winapi.Windows..
32 Bit
Delphi-Quellcode:
{ GetSetWindowWordLong offsets for use with WC_DIALOG windows }
{$EXTERNALSYM DWL_MSGRESULT}
DWL_MSGRESULT = 0;
{$EXTERNALSYM DWL_DLGPROC}
DWL_DLGPROC = 4;
{$EXTERNALSYM DWL_USER}
DWL_USER = 8;
Das wars.
Und für 64BIt
Delphi-Quellcode:
//64-Bit longpointer constants
const
{$EXTERNALSYM GWLP_WNDPROC}
GWLP_WNDPROC = -4;
{$EXTERNALSYM GWLP_HINSTANCE}
GWLP_HINSTANCE = -6;
{$EXTERNALSYM GWLP_HWNDPARENT}
GWLP_HWNDPARENT = -8;
{$EXTERNALSYM GWLP_USERDATA}
GWLP_USERDATA = -21;
{$EXTERNALSYM GWLP_ID}
GWLP_ID = -12;
gruss