Einzelnen Beitrag anzeigen

Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#3

AW: GetWindowLong versus GetWindowLongPtr

  Alt 3. Mai 2012, 23:07
GetWindowLongPtr ist in Delphi (zumindest ab XE) bereits so deklariert, dass es für Win32 genauso benutzbar ist wie für Win64.
Danke!

Das ist dann aber geschummelt / gemogelt: GetWindowLongPtr gibt es erst ab 64 Bit, und wenn man GetWindowLongPtr in XE einsetzt (das ja noch keine 64 Bit beherrscht), dann wird in Wirklichkeit, also intern GetWindowLong verwendet. Steht sozusagen etwas anderes drauf, als verpackt ist.

Ob das in XE 2 und Lazarus auch so ist, weiß ich nicht, zur Not könnte man das ja über externe DLL-Routineaufrufe deklarieren. Nur, welchen Vorteil es bringt oder ob es gar nötig ist (vermutlich eher nicht), das geht aus der MS-Beschreibung leider nicht hervor.

Ergänzung: GetWindowLongPtr kennt Lazarus auch in 32 Bit. Ich werde einfach GetWindowLongPtr für die Lazarus- und XE2-Quelltexte benutzen, um 32- und 64-Bit-Compilate zu erzeugen. Sollen sich doch Lazarus und XE 2 darum kümmern, daß das richtige verwendet wird...

Ergänzung 2: Komfortabel wäre es, wenn es auch umgekehrt funktionieren würde, d.h., wenn man GetWindowLong schreibt und auch das geprüft würde, so daß intern auf GetWindowLongPtr bei der Erzeugung von 64-Bit-Compilaten verwendet würde.

Geändert von Delphi-Laie ( 3. Mai 2012 um 23:16 Uhr)
  Mit Zitat antworten Zitat