Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как мне избечь ошибок при поодключении DLL, содержащей функцию [D5, WinME]


kss1515 ©   (2002-08-18 20:27:00) 

Здравствуйте,

Есть к вам такой вот вопрос:
Как мне избечь ошибок при поодключении DLL, содержащей функцию
GetSimpleText(LangRus:Boolean):PChar, используя такой код:

var
Form1: TForm1;
GetSimpleText:function(LangRus:boolean):PChar;
LibHandle:THandle;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
@GetSimpleText:=nil;
LibHandle:=LoadLibrary("mydll.dll");
If LibHandle>=32 then
@GetSimpleText:=GetProcAddress(LibHandle,"GetSimpleText");
If @GetSimpleText<>nil then ShowMessage(StrPas(GetSimpleText(True)));
end;

Ошибка заключается в следующем: В функцию GetSimpleText в любом случае
передается параметр False (или вообще не передается, скорее всего,
глюк при его передаче), а через
несколько секунд программа вообще вылетает, сообщая об "Ошибке в
модуле KERNEL32".
У меня система Delphi 5.0 Build 5.62 Enterprise, ОС Windows ME

Заранее спасибо за помощь!
--
С уважением,
KSS!


Юрий Зотов   (2002-08-18 22:00:00) [1]

Похоже, причина в отсутствии stdcall и/или в неверном выделении/освобождении памяти под строку PChar.


Наверх

Титульная страница Поиск, карта сайта Написать письмо