Большой Воронежский Форум
» Программирование>FormatMessage - что не так делаю?
zalex 23:43 21.12.2005
ПРивет всем. Получаю код ошибки при помощи GetLastError и пытаюсь получить строку с текстом. Код такой

var h:Cardinal;
dw1,dw2:dword;
dwret:dword;
MyMessage2:PChar;
a:dword;
LPDWordWord;
begin

a:=1769612;//Get_Stats
DW1:=0;
if Not DeviceIOControl(h,a,addr(dw1),4,addr(dw2),4,dwret, nil)
then begin
LPDWORD:=GetLastError;

FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER or FORMAT_MESSAGE_IGNORE_INSERTS,
0,
LPDWord,//
0, // Default language
MyMessage2,
0,
nil
);
ShowMessage(String(MyMessage2));
end;

На строке с ShowMessage выскакивает AV. Сабж.
[Ответ]
logged in 02:45 22.12.2005
если это делфи то попробуй так:

вместо
MyMessage2:PChar;
напиши
MyMessage2:string;

а при вызове функции FormatMessage замени MyMessage2 на pchar(MyMessage2) или на @MyMessage2 одна фигня [Ответ]
Вверх