Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.07;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.024 c
4-1096690969
MaxN
2004-10-02 08:22
2004.11.07
разрешение экрана


14-1098039450
Барбос
2004-10-17 22:57
2004.11.07
фракталы и система координат


1-1098765141
Sash
2004-10-26 08:32
2004.11.07
excel


1-1098828526
BURN
2004-10-27 02:08
2004.11.07
Память


4-1096791173
ZedeS
2004-10-03 12:12
2004.11.07
блокировка доступа к портам в WinXP