Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Integer(Picture) [D7, Win95/98, WinXP]


kblc ©   (2005-06-07 08:15:00) 

Уважаемые мастре, у меня к вам такой вопрос:

есть функция, которая возврашает строку...:

.....
if not Assigned(mIcon) then
begin
  mIcon:=TPicture.Create;
  fmDataModule.il_icons.GetBitmap(0,mIcon.Bitmap);
end;
Result:=IntToStr(Integer(mIcon));
....


переменная mIcon глобальная (находиться в библиотеке)
mIcon определена, Bitmap загружен точно

а вот функция, которая получает это значение (находиться в ехе-шнике):
     .....
     res:=Lib.ExecFunction('GET ICON');
     try
       if length(res)>0 then
       begin
         Pic:=TPicture(StrToInt(res));
         il_Icons.AddMasked(Pic.Bitmap,clBlack);
       end else ......


переменная Pic определена, но Bitmap в ней пустой. Почему так ???


kblc   (2005-06-07 09:26:00) [1]

я понимаю, что теперь это всё нужно с собой таскать... лишнее убрать можно.. и т.д. ... но всё равно... многовато блин!!!! значит - ед. вариант - через COM ???


kblc   (2005-06-07 09:25:00) [2]

я знаю что это знаичт... можно ли без этого обойтись???


Anatoly Podgoretsky   (2005-06-07 09:18:00) [3]

Run-TimePackages до полного понимания.


kblc   (2005-06-07 09:06:00) [4]

хм... зато теперь на других компах, где не установлена delphi это не работает.. так? ... как же теперь сделать так, что бы работало?


kblc   (2005-06-07 09:01:00) [5]

Да, всё заработало...
большое спасибо...


kblc   (2005-06-07 08:55:00) [6]

сейчас попробую....


Digitman   (2005-06-07 08:40:00) [7]


> но почему тогда мои объекты в виде ссылок передаються? и
> всё работает замечательно? т.е. мои классы


очевидно потому что при этом не требуется приведение типа.
а как только потребуется, тут же приключатся те же грабли.


> Э.. это как? объясните пожалуйста


взведи в свойствах обоих проектов опцию Build With Run-Time Packages и пересобери проекты


kblc   (2005-06-07 08:31:00) [8]

Теперь понятно почему она писала что не может определить TBitmap как TBitmap... хм.. как же тогда поступить?

но почему тогда мои объекты в виде ссылок передаються? и всё работает замечательно? т.е. мои классы.

>Компилируйте Exe и DLL с run-time пакетами.
>Или вместо DLL используйте BPL.
Э.. это как? объясните пожалуйста :(

>Или используйте COM-технологию.
>Или откажитесь от передачи ссылок на объекты.
Отказаться не могу.. как то же надо обмениваться данными, а для меня это самый просто способ...


Digitman   (2005-06-07 08:24:00) [9]


> Почему так


http://www.delphimaster.ru/cgi-bin/forum.pl?id=1118108863&n=0

p.s. непонятна блажь с передачей ссылки на объект в виде строки


Наверх

Титульная страница Поиск, карта сайта Написать письмо