Форум: "Основная";
Текущий архив: 2003.09.15;
Скачать: [xml.tar.bz2];
Внизнеработает ресурс Найти похожие ветки
← →
race1 (2003-09-03 16:31) [0]мы находимся не в модуле главной формы и через находящуюся там переменную типа TBitmap пытаемся загрузить из ресурса (TBitmap.LoadFromResourceName) картинку (Bitmap). в редакторе ресурсов мы нарисовали нужную картинку, мы это проверили. в качестве первого аргумента функции (Instance: THandle;) передаём Handle главной формы. но эта функция ругается на то, что Bitmap"а с таким именем в ресурсах несуществует. пробовали вводить в главном модуле переменную, присваивать ей HInstance и обращаться к этой переменной из модуля, в котором находимся. тоже самое, неработает.
ну вот и что же нам делать, мы прям в растерянности?
← →
Palladin (2003-09-03 16:32) [1]Ты бы еще код привел и .rc тоже. Тогда уже можно говорить о чем то конкретном.
← →
race1 (2003-09-03 16:43) [2].res, что ли?
Главный модуль (от главной формы)
unit MainUnit;
{$R WinXP.res}
interface
uses
NotMainModule,
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ToolWin, ComCtrls, ImgList, Extctrls, ThemeMgr, StdCtrls, jpeg;
type
TfrmMain = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
Instance: THandle;
implementation
{$R *.DFM}
procedure TfrmMain.FormCreate(Sender: TObject);
begin
Instance := HInstance;
end;
end.
Не главный модуль
unit NotMainModule;
interface
uses
Controls, Classes, Windows, Graphics, Dialogs, Sysutils, ExtCtrls;
type
TCreateShape = class ( TCustomControl )
private
FMask: TBitmap;
public
constructor Create ( AOwner: TComponent; AParent: TWinControl );
end;
implementation
uses
MainUnit;
constructor TCreateShape.Create ( AOwner: TComponent; AParent: TWinControl );
begin
inherited Create ( AOwner );
Parent := AParent;
FMask := TBitmap.Create;
FMask.LoadFromResourceName ( Instance, "MASK" );
end;
end.
← →
ZEE (2003-09-03 16:44) [3]такие моменты
LoadFromResourceName(hinstance,resname); //hinstance, а не Handle
и неплохо было бы файл *.res (тот самый созданный "редакторе ресурсов") подключить к проекту
и еще - в resname проверь имя ресурса (заданое все в том же "редакторе ресурсов")
зы: под "редактором ресурсов" я думаю подразумевался Borland Image Editor ...
← →
Skier (2003-09-03 16:47) [4]1)
unit NotMainModule;
{$R WinXP.res}
interface
uses
Controls, Classes, Windows, Graphics, Dialogs, Sysutils, ExtCtrls;
type
TCreateShape = class ( TCustomControl )
private
FMask: TBitmap;
public
constructor Create ( AOwner: TComponent; AParent: TWinControl );
end;
implementation
uses
MainUnit;
constructor TCreateShape.Create ( AOwner: TComponent; AParent: TWinControl );
begin
inherited Create ( AOwner );
Parent := AParent;
FMask := TBitmap.Create;
FMask.LoadFromResourceName ( Instance, "MASK" );
end;
end.
2)
{$R WinXP.res} убрать из MainUnit;
← →
ZEE (2003-09-03 16:53) [5]>Skier ©
а uses MainUnit; разве не позволяет использовать ресурсы из MainUnit в NotMainModule ?..
← →
race1 (2003-09-03 16:58) [6]2четвёртый
1)ой, работает.
2)или все картинки писать в WinXP.res, а не в *.res
спасибо, заработало!
← →
Юрий Федоров (2003-09-03 18:40) [7]>>ZEE © (03.09.03 16:53) [5]
Ресурсы не в MainUnit а в приложении в целом. Просто
{$R ...} должен быть только в одном месте
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.09.15;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.013 c