Текущий архив: 2003.11.17;
Скачать: 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 вся ветка
Текущий архив: 2003.11.17;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.01 c