Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.14;
Скачать: CL | DM;

Вниз

Ошибка при вызове DLL   Найти похожие ветки 

 
stone ©   (2002-11-05 15:18) [0]

При вызове DLL возникает ошибка:
---------------------------
Debugger Exception Notification
---------------------------
Project fcpclnt.exe raised exception class EOleSysError with message "CoInitialize has not been called". Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
может кто сталкивался с подобным?


 
linage   (2002-11-05 16:03) [1]

ты DLL динамически вызываешь?


 
Alex4444444444   (2002-11-05 16:05) [2]

Mozhet, nado CoInitialize vyzvat"?


 
stone ©   (2002-11-05 16:07) [3]

linage

Да динамически


 
stone ©   (2002-11-05 16:11) [4]

мало того, при выполнении

finally
FreeLibrary(LibHandle);
end;

выдает

---------------------------
Information
---------------------------
Project D:\Project\MIDAS\fcpclnt\bin\fcpclnt.exe raised too many consecutive exceptions: "access violation at 0x00000000: read of address 0x00000000". Process Stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------


 
linage   (2002-11-05 16:16) [5]

Ну этот ощначает, что она не создала дескриптор на твою библиотеку!
А можешь привести код, как ты ее подгружаешь?


 
stone ©   (2002-11-05 16:18) [6]

type
TShowOptions = function:Boolean; stdcall;
...

implementation

procedure TfrmMainForm.mmiOptionsClick(Sender: TObject);
var
LibHandle : THandle;
ShowOptions : TShowOptions;
begin
LibHandle := LoadLibrary("options.dll");
try
if LibHandle = 0 then
raise Exception.Create("Unable to load DLL");
@ShowOptions := GetProcAddress(LibHandle, "ShowOptions");
if not (@ShowOptions = nil) then
if ShowOptions then
ShowMessage("Text of message");
finally
FreeLibrary(LibHandle);
end;
end;


 
linage   (2002-11-05 16:24) [7]

А на каком шаге вылетает exception?


 
stone ©   (2002-11-05 16:34) [8]

if not (@ShowOptions = nil) then
if ShowOptions then <- "CoInitialize has not been called"
ShowMessage("Text of message");
finally
FreeLibrary(LibHandle); <- too many consecutive exceptions
end;


 
aus ©   (2002-11-05 16:53) [9]

uses ActiveX;
....................
initialization
CoInitialize;
finalization
CoUnInitialize;
end.


 
linage   (2002-11-05 16:58) [10]

Попробуй вместо функции ShowOptions, использовать процедуру ShowOptions(var b:boolean)


 
stone ©   (2002-11-05 16:59) [11]

aus а применительно к моей ситуации? я пробовал CoInitialize(@ShowOptions), но результат тот же.


 
stone ©   (2002-11-05 17:00) [12]

linage пробовал и через процедуру, как с параметрами, так и без - результат тот же


 
linage   (2002-11-05 17:10) [13]

слушай, а может exception вываливается во время работы твоей функции?


 
stone ©   (2002-11-06 09:21) [14]

linage эта функция просто модально отображает форму

Form1 := TForm1.create(Application);
try
Result = Form1.ShowModal = mrOk;
finally
Form1.Free;
end;



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

Текущий архив: 2002.11.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.033 c
1-45843
Gari
2002-11-05 10:40
2002.11.14
Структура Delphi


3-45776
Alex Freeman
2002-10-25 14:31
2002.11.14
Количество строк в DBGrid


1-45923
aglar
2002-11-02 10:16
2002.11.14
Изменение свойств стандартных компонент


14-46125
Z_man7777
2002-10-28 07:43
2002.11.14
Как называется сайт где лежат открытые исходники по Делфи?


14-46077
FLiz
2002-10-25 18:17
2002.11.14
Многооконное приложение. какую технологию сейчас луше выбрать?