Вниз
Скачать: 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-1098407275
Кто---то
2004-10-22 05:07
2004.11.07
А стандартный СпинЭдит с флоатами не работает что ли ? Или


4-1096449331
Igit
2004-09-29 13:15
2004.11.07
Смещение в файле EP


14-1098381867
uji
2004-10-21 22:04
2004.11.07
имортист


1-1098520923
Ramon
2004-10-23 12:42
2004.11.07
Динамически созданные пункты меню


14-1097569058
peypivo
2004-10-12 12:17
2004.11.07
Мои соболезнования ...




   Наверх