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

dll   Найти похожие ветки 

 
oleg_   (2004-10-21 23:43) [0]

Здраствуйте.
Помогите,если не трудно.

модуль dll
dll-ка (содержит ImageList, и должна ресурсы
переводить в форму)
procedure lib;
begin
lib.Images:=form1.ImageList1;
main_f.s1.ImageIndex:=24;
end;

модуль формы
на кнопке вызываем dll:
var
 h: THandle;
 lib:procedure;
begin
 h := LoadLibrary("lib_.DLL");
на кнопке окна, вызываем dll:
if h = 0 then
     raise Exception.Create("Unable to Load DLL...")
   else
   begin
     try @lib := GetProcAddress(h, "lib");
       if @lib <> nil then
         lib;
     except
       on E: Exception do
         ShowMessage("Exception error: " + E.Message);
     end;
   end;
   FreeLibrary(h);

end;

Помогите пожалуйста, где ошибка?
Спасибо


 
GuAV ©   (2004-10-22 03:20) [1]

Ошибка в том, что глобальные переменные ехе не доступны в dll и наоборот.

Хотя моё предположение об ошибке на уровне телепатии. Вам следовало бы привести код более полностью. Например что есть lib в процедуре lib, что есть form1 main_f ?

И потом в чём проявляется ошибка ?


 
oleg_   (2004-10-22 08:16) [2]

А dll имеет uses на main_u, и в ней, кроме
кода и формы - нет ничего

library lib_;

uses
 SysUtils,
 Classes,
 forms, messages, dialogs,
 lib in "lib.pas" {Form1},main_u;

{$R *.res}

procedure lib;
begin
main_f.ToolBar1.Images:=form1.ImageList1;
main_f.s1.ImageIndex:=24;
end;
end.


 
GuAV ©   (2004-10-22 14:37) [3]

Так в приложении свой main_u а в dll свой - две разные копии !



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

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



Память: 0.45 MB
Время: 0.026 c
1-1098463016
maximka
2004-10-22 20:36
2004.11.07
Сохранение данных в бинарный файл


14-1098272595
Vol
2004-10-20 15:43
2004.11.07
Вернуть к жизни винчестер и информацию на нем


1-1098788125
Alexious
2004-10-26 14:55
2004.11.07
Массивы


6-1093288647
Alaman
2004-08-23 23:17
2004.11.07
Как скачать файл из интернета по HTTP?


1-1098532319
span
2004-10-23 15:51
2004.11.07
Как организовать диалог с внешним устройством




   Наверх