![]() |
Re: Dialog zur Icon-Auswahl
Delphi-Quellcode:
Muss es bei WideString nicht length(buf)*2 heissen? ZeroMemory() arbeitet immer in Byte-Einheiten.
ZeroMemory(@buf[1],length(buf));
|
Re: Dialog zur Icon-Auswahl
hoi
@scp
Delphi-Quellcode:
der setzt doch den buffer bei widestring auf die doppelte länge.. wenn UNICODE definiert ist, benutzt der alles als wide.. (widestring, widechar, pwidechar).. da liegt auch nicht mein problem, das funzt alles
// "buf" auf MAX_PATH setzen, & leeren
{$IFDEF UNICODE} SetLength(buf,MAX_PATH * 2); {$ELSE} SetLength(buf,MAX_PATH); {$ENDIF} ZeroMemory(@buf[1],length(buf)); MFG ToBmAsTeR |
Re: Dialog zur Icon-Auswahl
moiiin...
danke MathiasSimmack, Luckie und Gollum... :bounce2: mein Programm funktioniert jetzt, hab ein wenig mit den umwandlungsfunktionen rumgespielt und mit dieser hier funktionierts:
Delphi-Quellcode:
ich hoffe, dass das auch anderen usern hilft die den "Icon Auswählen"-Dialog von Windows benutzen wollen...
{$DEFINE UNICODE} //for NT5 an higher
procedure TMainForm.PickIcon(hwndicon: HWND; var filename: string; var index: integer); var {$IFDEF UNICODE} buf : widestring; {$ELSE} buf : string; {$ENDIF} idx: dword; begin // "buf" auf MAX_PATH setzen, & leeren {$IFDEF UNICODE} SetLength(buf,MAX_PATH * 2); {$ELSE} SetLength(buf,MAX_PATH); {$ENDIF} ZeroMemory(@buf[1],length(buf)); // "iconfile" als Ausgangspunkt festlegen {$IFDEF UNICODE} buf := widestring(filename); {$ELSE} buf := string(filename); {$ENDIF} idx := index; // Dialog aufrufen {$IFDEF UNICODE} if(PickIconDlg(hwndicon,pwidechar(buf),length(buf)+1,idx)) then {$ELSE} if(PickIconDlg(hwndicon,pchar(buf),length(buf)+1,idx)) then {$ENDIF} begin {$IFDEF UNICODE} filename := string(buf); {$ELSE} filename := string(buf); {$ENDIF} index := idx; end; end; Zitat:
Mfg und THX :hi: ToBmAsTeR :dp: ps: ich werd jetzt noch den rest des programms fertigstellen und dann hier mal veröffentlichen :coder: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 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