Вниз
Скачать: CL | DM;

глюк DLL под XP   Найти похожие ветки 

 
виктор   (2003-11-06 03:13) [0]

Мастера помогите, в программе из одной Dll вызывается другая. Под
W"98 работает без проблем, а вот в ХР выдает ошыбку:"Не найден дискриптор окна. OSExceptionError". Что это такое и как с ним бороться. Заранее спасибо.


 
Vorobyev Sergey ©   (2003-11-06 07:13) [1]

DLL или программа использует потоки?


 
viktor   (2003-11-06 22:50) [2]

Нет.


 
Юрий Федоров ©   (2003-11-06 23:24) [3]

на LoadLibrary ?
Приводите наконец более подробное описапние проблемы, с фрагментами кода, со значениями переменных, которые получены в run - time, а то кроме как ответа "ошибка в 17 строке" ничего не увидите, тут телепатов нет


 
vvh   (2003-11-06 23:37) [4]

Эта DLL загружается из другой. И в одной, и во второй открываются модальные окна.
procedure TfSpravBank.BitBtn2Click(Sender: TObject);
begin
hLib:=LoadLibrary("bnktype.dll");
if hLib<32 then
begin
ShowMessage("Error load DLL");
exit;
end;
CreateBankTypeDlg:=TCreateBankTypeDlg(GetProcAddress(hLib,"CreateBankTypeDlg"));
ShowBankTypeForm:=TShowBankTypeForm(GetProcAddress(hLib,"ShowBankTypeForm"));
BankType:=TBankType.Create;
CreateBankTypeDlg(Self.Handle,BankType);
ShowBankTypeForm(True);
FreeLibrary(hLib);
end;


 
Palladin ©   (2003-11-06 23:48) [5]

А... э...
А как используются адреса переданные в функции?


 
vvh   (2003-11-06 23:50) [6]

Например так:
procedure CreateBankTypeDlg(Handle:THandle;P:Pointer);
begin
Application.Handle:=Handle;
fBankType:=TfBankType.Create(Application);
if Assigned(P) then fBankType.BankType:=TBankType(P);
end;

procedure ShowBankTypeForm(const DlgMode:Boolean);
begin
with fBankType do
begin
if DlgMode then
begin
Caption:="Новый банк";
// tBank.Append;
ShowModal;
if ModalResult=mrOK then InsElemet;
end
else
begin
if GetElemet then
begin
// tBank.Edit;
ShowModal;
if ModalResult=mrOK then UpdElemet;
end
else ShowMessage("Ошибка извлечения данных.");
end;
Free;
end;
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.016 c
3-56485
Виталя
2003-10-27 13:55
2003.11.17
Как быстро найти запись с заданным порядковым номером


14-56891
VEG
2003-10-24 17:05
2003.11.17
Поздравляю себя любимого:)


3-56524
exciter__
2003-10-27 09:30
2003.11.17
Interbase и DECLARE CURSOR.


14-56903
kopcap
2003-10-25 13:57
2003.11.17
Как запустить UltimaOnline через прокси !


14-56856
Е-Моё имя
2003-10-27 13:05
2003.11.17
Вопрос




   Наверх