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

не работает вызов из DLL   Найти похожие ветки 

← →
BBCHa ©   (2003-04-18 11:33) [0]

Народ, никто не скажет, почему вот эта функция
Function GetImageLanguage(Kind:Integer):TBitmap;
Var
BitMap:TBitMap;
begin
BitMap:=TBitMap.Create;
BitMap.LoadFromResourceName(HInstance,ImageLanguage[Kind]);
Result:=BitMap;
End;

при вызове из юнита нормально работает, а при вызове из DLL выдает ошибку "Connot assign a TBitmap to a TBitmap"??? В чем грабли, куда копать.


← →
Dms   (2003-04-18 11:53) [1]

сдается мне, что одни объекты (TBitmap) нельзя использовать в разных модулях. для экспорта объектов надо использовать com-технологию.


← →
BBCHa ©   (2003-04-18 11:54) [2]

обрадовал :(((((


← →
REA ©   (2003-04-18 11:59) [3]

Можно использовать Package вместо DLL. В этом случае все должно работать.


← →
nikkie ©   (2003-04-18 12:49) [4]

1. возвращай HBITMAP
2. вместо вызова своей функции вызывай LoadFromResourceName в exe


← →
BBCHa ©   (2003-04-18 12:55) [5]

По 1 - а что это такое???
по второму, идея заключается именно в том, чтобы все ресурсы вывалить во второстепенную DLL разгрузив тем самым EXE


← →
Dms   (2003-04-18 12:58) [6]

тебе нужна функция загрузки ресурса из DLL


← →
Dms   (2003-04-18 13:00) [7]

http://www.sources.ru/delphi/delphi_icon_extractor.shtml


← →
BBCHa ©   (2003-04-18 13:08) [8]

спасибо всем, удалось обойти, примерно так:
Procedure GetImageLanguage(var ImageList:TImageList;Kind:Integer);stdcall;
Var
BitMap:TBitMap;
begin
BitMap:=TBitMap.Create;
BitMap.LoadFromResourceName(HInstance,ImageLanguage[Kind]);
ImageList.Add(Bitmap,NIL);
Bitmap.Free;
End;



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

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



Память: 0.46 MB
Время: 0.009 c
14-760
Шоломицкий
2003-04-14 13:21
2003.05.01
Картинки карт


14-764
Михайлов Антон
2003-04-13 19:33
2003.05.01
MainMenu


1-615
Сергей
2003-04-19 03:43
2003.05.01
Запуск файла *.ocx


7-812
AlexBeliy
2003-03-13 21:40
2003.05.01
Logoff


3-468
KIR
2003-04-14 12:13
2003.05.01
SELECT * возвращает больше значений, чем видно в DBDesktop




   Наверх