Вниз
Скачать: 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.031 c
4-1096092695
Ale}{(is)
2004-09-25 10:11
2004.11.07
Как добавить/удалить/заменить ресурс исполняемого файла


1-1098353405
digger
2004-10-21 14:10
2004.11.07
Описание объектной модели Object Pascal


3-1097481683
Jann
2004-10-11 12:01
2004.11.07
работа с таблицей


4-1096778093
XProger
2004-10-03 08:34
2004.11.07
MDI на Win API


4-1096082882
gedd
2004-09-25 07:28
2004.11.07
Отслеживание открытых файлов?




   Наверх