![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при модальном вызове формы из DLL. Я в отчаянии! [D6, Win95/98, Win2k]
Knapweed © (2004-06-16 01:24:00)Уважаемые мастера! Прошу помощи!!! Я в глубоком отчаянии.. Код:
(в основной программе)
procedure TMainForm.LabExportClick(Sender: TObject);
begin
ExportDLLHandle := LoadLibrary('KExport');
if ExportDLLHandle = 0 then begin
MessageDlg('Ошибка загрузки библиотеки KExport.dll.', mtError, [mbOk], 0);
exit;
end;
try
@DLLShowExport := GetProcAddress(ExportDLLHandle, PCHar('ShowExport'));
DLLShowExport(Config.CurrentArea);
finally
if FreeLibrary(ExportDLLHandle)=False then
MessageDlg('Ошибка выгрузки библиотеки.',mtError, [mbOk], 0);
end;
end;
(в KExport.DLL)
function ShowExport(CurArea : byte) : TModalResult;
begin
BCurArea := CurArea;
try
FormExport := TFormExport.Create(Application);
try
result := FormExport.ShowModal;
except
ShowMessage('Здесь как раз и выходит эта Ё..я ошибка!!!');
result := mrAbort;
end;
finally
FormExport.Free;
end;
end;
Причём всё работало, пока мне не приспичило включить модуль ShareMem в библиотеку(нужно было передавать строку). Тут-то всё и посыпалось :( Потом я всё вернул на место, НО ОШИБКА ОСТАЛАСЬ! ПОЧЕМУ???
GuAV (2004-06-16 01:41:00) [21]А если переименовать форму в библиотеке?
Knapweed (2004-06-16 01:36:00) [22]2GuAV
То-же самое :(
GuAV (2004-06-16 01:34:00) [23]
> TFormExport.Create(Application);
TFormExport.Create(nil); ?
Knapweed (2004-06-16 01:30:00) [24]Забыл сказать, что ошибка выглядит примерно так: не могу сделать модальным уже видимое окно...
Примечание: свойство FormExport.VISIBLE=FALSE.