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_INSERTITEM
W 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