Solved

Include a resource

Posted on 2004-09-24
7
222 Views
Last Modified: 2013-11-18
Hi

I've written a small component and want to include some small graphic resources into the component dcu.  

Anyone know what the rc should look like?  I know that in an exe it is <resource name> RCDATA <resource to include> but this resource is for a component, not an exe.
0
Comment
Question by:foxjax
7 Comments
 
LVL 12

Assisted Solution

by:esoftbg
esoftbg earned 100 total points
ID: 12143892
take a look at example below:

implementation

{$R esSpin.RES}

procedure TesSpin.SetGlyphFirst(Value: TBitmap);
begin
  if Value <> nil then
    FSpinFirst.Glyph := Value
  else
  begin
    FSpinFirst.Glyph.LoadFromResourceName(HInstance, 'SPINFIRST');
    FSpinFirst.NumGlyphs := 2;
    FSpinFirst.Invalidate;
  end;
end;
0
 

Author Comment

by:foxjax
ID: 12144496
Thanks esoftbg but i am looking for what way to write the rc file

ie: this is what i use in an rc file when i make a program that i want to include resources with - <resource name> RCDATA <resource to include>

but what do i use instead of RCDATA when i am including the resource inside the dcu of a component
0
 
LVL 2

Assisted Solution

by:php4delphi
php4delphi earned 100 total points
ID: 12145944
There is no any difference between including resource to the program or component. In first case the resource will be linked into executable, in case of component resource will be linked to the package (.bpl) and you will see it at design-time and to the application when you will add your component to it.
Ssoftbg provides your completely correct example how to do it.

Resources never linked to dcu directly, you have to provide *.res file together with your dcu
To make res file first you have to write .RC file.
The .RC file is simply a text file that lists resources. For most purposes (except defining dialogs for non-VCL apps), you don't need a resource editor.

The file is in this format:

RESOURCENAME  RESOURCETYPE  FILENAME
For example, to include a bitmap in the resource file:

MyBitmap  BITMAP   MyBitmap.bmp
To include a cursor:

MyCursor  CURSOR  MyCursor.cur
You use the same technique to include AVI, WAV and ICO files.

For other filetypes, you can use the type RC_DATA.

To use the resource script (.RC) file, you use Borland's Resource Compiler (BRCC.EXE with Delphi 1, BRCC32.EXE otherwise) which is located in the Delphi Bin directory. The syntax is:

BRCC32 MyRes.RC
This creates MyRes.RES. You then add the {$R MYRES.RES} to a unit in your application to have Delphi's linker include it, and use one of the Load... API calls (or Delphi's wrappers for some components) to use the resource at runtime.

0
Three Reasons Why Backup is Strategic

Backup is strategic to your business because your data is strategic to your business. Without backup, your business will fail. This white paper explains why it is vital for you to design and immediately execute a backup strategy to protect 100 percent of your data.

 
LVL 22

Assisted Solution

by:Ferruccio Accalai
Ferruccio Accalai earned 50 total points
ID: 12146143
Just a must, nothing to add to php4delphi that is right.

Add to your favourites this link,it's a very useful tutorial on creating resources
http://delphi.about.com/library/weekly/aa021301a.htm

F68 ;-)
0
 
LVL 3

Accepted Solution

by:
Sabre earned 250 total points
ID: 12147423
Just thought i'd add another point.

If you want to include resources inside a component, you can create a dcr file with image editor - Just select New\Component resource file.  Save it with the same name as the component and link it in as esoftbg has already shown you.
0
 

Author Comment

by:foxjax
ID: 12178196
I have split the points between all that provided an answer.

Thanks all
0
 

Author Comment

by:foxjax
ID: 12178209
points split and graded A.

I had forgot all about image editor - with that info and the info php4delphi gave i was able to find out what i needed.
0

Featured Post

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I found this questions asking how to do this in many different forums, so I will describe here how to implement a solution using PHP and AJAX. The logical flow for the problem should be: Write an event handler for the first drop down box to get …
SASS allows you to treat your CSS code in a more OOP way. Let's have a look on how you can structure your code in order for it to be easily maintained and reused.
The viewer will learn how to count occurrences of each item in an array.
The viewer will the learn the benefit of plain text editors and code an HTML5 based template for use in further tutorials.

832 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question