Цитата:
Сообщение от AleD
Всё очень просто, в dll пихаешь эту фугкцию:
Код:
function GetImageList: Pointer;
var
ilImages: TImageList;
begin
ilImages := TImageList.Create(nil);
// ...
Result := @ilImages; //нужный TImageList
end;
а в приложение
Код:
procedure GetImages;
type
TGetImageListProc = function: Pointer;
const
libname = 'mylib.dll';
procName = 'GetImageList';
var
lib: Cardinal;
proc: TGetImageListProc;
newImages: TImageList;
begin
lib := LoadLibrary(pchar(libname));
if(lib<>-1)then
begin
proc := GetProcAddress(lib,procName);
if(proc<>nil)then
newImages := proc^;
end;
end;
на компиляторе не проверял, будут ошибки - репорть
|
На строку
компилятор выдает ошибку:
[DCC Error] Unit1.pas(210): E2010 Incompatible types: 'TImageList' and 'procedure, untyped pointer or untyped parameter'