Старый 21.12.2005, 23:43   #1   
Покинул БВФ
 
Аватар для zalex
 
Сообщений: 469
Регистрация: 28.06.2005

zalex вне форума Не в сети
FormatMessage - что не так делаю?

ПРивет всем. Получаю код ошибки при помощи 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. Сабж.
  Ответить с цитированием
Старый 22.12.2005, 02:45   #2   
Форумец
 
Аватар для logged in
 
Сообщений: 144
Регистрация: 02.07.2005
Возраст: 42

logged in вне форума Не в сети
если это делфи то попробуй так:

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

а при вызове функции FormatMessage замени MyMessage2 на pchar(MyMessage2) или на @MyMessage2 одна фигня
  Ответить с цитированием
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind