noch kürzer
Delphi-Quellcode:
const LibLang =
{$IFDEF UNICODE}'
W'
{$ELSE}'
A'
{$ENDIF};
// wenn man das öfters mal braucht
function MessageBoxTimeOut(hWnd: HWND; lpText, lpCaption: PChar;
uType: UINT; wLanguageId: WORD; dwMilliseconds: DWORD): Integer;
stdcall;
external user32
name '
MessageBoxTimeout' + LibLang;
function MessageBoxTimeOutA(hWnd: HWND; lpText, lpCaption: PAnsiChar;
uType: UINT; wLanguageId: WORD; dwMilliseconds: DWORD): Integer;
stdcall;
external user32;
function MessageBoxTimeOutW(hWnd: HWND; lpText, lpCaption: PWideChar;
uType: UINT; wLanguageId: WORD; dwMilliseconds: DWORD): Integer;
stdcall;
external user32;
Man kann es sogar verpascalen.
(wenn man weiß wie die Strings intern arbeiten)
Delphi-Quellcode:
function MessageBoxTimeOut(OwnerWindow: HWND;
const Text, Caption:
string;
MType: LongWord; LanguageID: Word; Milliseconds: LongWord): Integer;
stdcall;
external user32
name '
MessageBoxTimeout' + LibLang;
function MessageBoxTimeOutA(OwnerWindow: HWND;
const Text, Caption: AnsiString;
MType: LongWord; LanguageID: Word; Milliseconds: LongWord): Integer;
stdcall;
external user32;
function MessageBoxTimeOutW(OwnerWindow: HWND;
const Text, Caption:
{$IFDEF UNICODE}UnicodeString
{$ELSE}WideString
{$ENDIF};
MType: LongWord; LanguageID: Word; Milliseconds: LongWord): Integer;
stdcall;
external user32;
Zitat:
Nein, der Compiler weißt sie nicht auf das Problem hin
Du hast dann bestimmt sowas erwischt:
PChar und dann ein ...A
http://delphi.about.com/od/adptips20...ltip1004_5.htm