Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.15;
Скачать: CL | DM;

Вниз

неработает ресурс   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
1-48583
Karburator
2003-09-03 16:39
2003.09.15
Удаление каталога с содержимым


1-48626
graphmail
2003-09-03 10:52
2003.09.15
Delphi+Excel


1-48501
hfa
2003-09-02 18:21
2003.09.15
При установки нового пакета с компонентами вылезает ошибка типа


7-48805
dm37
2003-06-30 14:35
2003.09.15
RS-232 - RS-485


1-48493
Fog
2003-09-02 19:25
2003.09.15
Delphi 6 Глючит!!!