Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Fehler in CommCtrl.pas (Delphi Version 5 und evtl darunter) (https://www.delphipraxis.net/12434-fehler-commctrl-pas-delphi-version-5-und-evtl-darunter.html)

Assarbad 27. Nov 2003 12:45


Fehler in CommCtrl.pas (Delphi Version 5 und evtl darunter)
 
So sieht es in der CommCtrl.pas aus ...
Delphi-Quellcode:
function ListView_InsertItemW(hWnd: HWND; const pItem: TLVItemW): Integer;
begin
  Result := Integer( SendMessage(hWnd, LVM_INSERTITEM, 0, Longint(@pItem)) );
end;
Aber die Borlaender haben einen Fehler gemacht, korrekt waere:
Delphi-Quellcode:
function ListView_InsertItemW(hWnd: HWND; const pItem: TLVItemW): Integer;
begin
  Result := Integer( SendMessage(hWnd, LVM_INSERTITEMW, 0, Longint(@pItem)) );
end;
LVM_INSERTITEMW statt LVM_INSERTITEM (bzw LVM_INSERTITEMA)!!!

... und ich hab mir schon Gedanken gemacht, ob ich ein wenig bekloppt bin, weil partout immer nur das erste Zeichen eines UnicodeStrings angezeigt wurde (meist ein Zeichen, dass er wie ANSI behandelt wird ...).

Wollte es nur wissen lassen. Vielleicht gehoert das ja auch in die CodeLib, keine Ahnung - sollen die Mods entscheiden.

Ob der Fehler in spaeteren Versionen von Delphi noch drin ist kann ich nicht sagen. Die betroffene Version ist Delphi 5 Pro (deutsch).

Oliver

Mario 27. Nov 2003 14:42

Re: Fehler in CommCtrl.pas (Delphi Version 5 und evtl darunt
 
In Delphi 6 ist es auch drin. Allerdings wird auch bei anderen Proceduren genauso verfahren. Da der Fehler 10 mal hintereinander passiert legt nahe, dass es einen tieferen Sinn hatte. Aber welchen, werden wir vermutlich nicht erfahren. Ich weiß aber auch zu wenig darüber, wie Delphi entscheidet, wann es die W und wann die A Version der Funktionen herangezogen wird.

Assarbad 27. Nov 2003 16:21

Re: Fehler in CommCtrl.pas (Delphi Version 5 und evtl darunt
 
Der tiefere Sinn war wohl nix weiter als Copy&Paste ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz