Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.580 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: GetWindowLong versus GetWindowLongPtr

  Alt 3. Mai 2012, 23:15
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...
Wenn die Headerdateien des SDK in Delphi und Lazarus umgesetzt werden, muss das ja auch so sein um kompatibel zu sein. In den Headerdateien für C++ hat MS das erledigt und wer die für andere Sprachen umsetzt, muss das eben nachbauen. Das ist also genau so gedacht.

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.
Dann schauen wir doch mal wie in Delphi GetWindowLong aussieht.
Delphi-Quellcode:
function GetWindowLong(hWnd: HWND; nIndex: Integer): NativeInt;
begin
  Result := GetWindowLongPtr(hWnd, nIndex);
end;
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat