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

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

Bitmap, DLL и ресурсы [D7]


cranium ©   (2005-07-18 00:51:00) 

Может быть кто может предложить решение, как хранить битмамы более чем 256 цветов в dll и потом их оттуда выдернуть. Вроде правильно их сложить в русерс его прикомпилировать к dll, а потом таскть их LoadBitmap, но как я сказал выше придется ограничиваться 256 цветами, как сие обойти?


cranium   (2005-07-18 12:45:00) [1]

>isasa ©
Первое желание было написать что-то подобое, но все таки решил так не поступать.... Вероисповидание не позволо:D


Fay   (2005-07-18 11:51:00) [2]

2 DrPass ©   (18.07.05 1:15) [4]
Шутки ради, добавьте в свой rc-файл анимационный курсор.


isasa   (2005-07-18 11:43:00) [3]

Да, во избежание вопросов.
ShareMem пока не использовал сознательно, просьба ногами не пинать. Пока работает без него.


isasa   (2005-07-18 11:39:00) [4]

У меня, тоже такое. И плюс требование, работать с графикой в визуальном режиме,
и в той же интерактивной среде (Delphi).
Собрал все во Frame с скомпоновал в DLL.
Единственное, гложат сомнения по поводу передачи TGraphic (или TPicture)??

library mnemolib;

uses
 Windows,
 grFrame in 'grFrame.pas' {grContainer: TFrame};

{$R *.res}

procedure DLLEntryPoint(Reason: Word);
begin
 case Reason of
   DLL_PROCESS_ATTACH: grContainer:=TgrContainer.Create(nil);
   DLL_PROCESS_DETACH: grContainer.Free;
   DLL_THREAD_ATTACH: ;
   DLL_THREAD_DETACH: ;
 end;
end;

exports
 GetSUpic name 'GetSUpic';

begin
 DLLProc:=@DLLEntryPoint;
 DLLEntryPoint(DLL_PROCESS_ATTACH);
end.

..........................
unit grFrame;

interface

uses
 Windows, Graphics, Forms,
 Classes, Controls, ExtCtrls, RxGIF;

type
 TgrContainer = class(TFrame)
   Image1: TImage;
   Image2: TImage;
   Image3: TImage;
   Image4: TImage;
   Image5: TImage;
...................
 public
   buff: string;
 end;

var grContainer: TgrContainer;
// {self: pointer;} вкл, если использ. точку входа как метод.
function GetSUpic({self: pointer;} id: integer): TGraphic; stdcall;

implementation
...............
end.


Германн   (2005-07-18 02:31:00) [5]

2 Наиль   (18.07.05 02:07) [6]
Это зависит от версии Делфи. В той, которая указана в сабже ресурсы можно добавлять как исходники.


cranium   (2005-07-18 02:07:00) [6]

Наиль, спасибо за ссылку, по функционалу вполне достаточно:)


Наиль   (2005-07-18 02:07:00) [7]

>[4] Подскажите в каком месте это делается, буду очень признателен.


DrPass   (2005-07-18 01:15:00) [8]


>  Единственый кто не их не любит, ImageEditor из комплекта
> Delphi. Совет был такой: пользуйся другим редактором ресурсов.

Для этого вообще редактор ресурсов не нужен, достаточно добавить в проект соответствующий rc-файл. Delphi сама его скомпилирует и скомпонует с программой


cranium   (2005-07-18 01:14:00) [9]

Сенькс понял... Пошел пробовать другие редакторы ресурсов...


Наиль   (2005-07-18 01:13:00) [10]

В догонку, т.к. последняя версия Restorator, лично у меня, глючная, а предыдущая не понимает русский dfm из D7, то я скачал только что бесплатный "Res Hacker" c http://dilik.h12.ru/program3.html
Его рекомендовали кому-то здесь несколько дней назад.
Сам ещё не пробовал. Поэтому о пользе программы сказать не могу.


Наиль   (2005-07-18 01:00:00) [11]

Недавно просматривал форумы. И dll, и TBitmap, и тем более ресурсы позволяют использовать рисунки 24 бита. Единственый кто не их не любит, ImageEditor из комплекта Delphi. Совет был такой: пользуйся другим редактором ресурсов. Лично я пользуюсь Restorator, поэтому с такой проблемой не сталкивался.


Наверх

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