Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];




Вниз

MessageBox() and ShowMessage() - some troubles или 


Raptor   (2002-02-12 22:44) [3]

2 Fellomena
Функция ShowMessage - это делфийская функция и потому она будет корректно работать при подстановке вместо строки String символа Char. Функция же MessageBox - виндовая. Ей нужно корректно задать в качестве строкового параметра строку, заканчивающуюся нулем. А при приведении Char к PChar не получится такая строка, так как пременная типа String есть ничто иное как указатель, а Char это статический тип.
То, что сообщения никакие не выводились, не означает, что ошибок не было. Если попробуешь этот же код:
MessageBox(0, PChar(Chr(param)), "Message from DLL", 0);
запустить в проекте из под делфы, сразу же получишь ошибку от user32.dll.
Посему надо сделать так, как указывали выше, или так (что то же самое):

Var
s:String;
...............
s:=Chr(param);
MessageBox(0, PChar(s), "Message from DLL", 0);
...............




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];




Наверх






Память: 0.74 MB
Время: 0.015 c
1-46332           kserg@ukr.net         2002-04-01 18:03  2002.04.15  
Как переопределить нажатия клавы, чтоб Enter работал как TAB


1-46364           Alibaba               2002-04-04 12:48  2002.04.15  
xlReport


3-46276           Stranger              2002-03-25 16:01  2002.04.15  
Хранение файлов различных типов в полях БД MS SQL Server


14-46490          VID                   2002-03-07 00:12  2002.04.15  
ДРОВА


3-46225           tima_binsprog         2002-03-23 20:16  2002.04.15  
Getting username using TDatabase