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

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

Наверх




Память: 0.48 MB
Время: 0.014 c
4-837
Jakommo
2003-03-04 18:28
2003.05.01
(w2k) Как закрыть приложение по имени ехе в NT истемах.


1-573
VadimS
2003-04-18 12:42
2003.05.01
Проверка типа переменной


14-770
Zhirnov Maxim
2003-04-15 10:21
2003.05.01
Чем отличается Celeron от Pentium a?


11-490
zetta
2002-07-25 12:44
2003.05.01
а так можно? почему-то ошибка 216 выскакивает


1-511
Vitek
2003-04-20 20:33
2003.05.01
Как сделать окно активным?