VoyForums

VoyUser Login optional ] [ Contact Forum Admin ] [ Main index ] [ Post a new message ] [ Search | Check update time | Archives: 123456[7]8910 ]


[ Next Thread | Previous Thread | Next Message | Previous Message ]

Date Posted: 17:03:58 12/17/01 Mon
Author: Kai
Subject: Re: LoadFromResourceName *** Solution ***
In reply to: Michel 's message, "Re: LoadFromResourceName" on 07:12:51 12/17/01 Mon

Michel,

here's the solution to my problem
(by Ralph from Borland's WinAPI group):



> Anyone out there who can enlighten me as to why the LoadFromResourceName
> call below works
> and the load via ResourceStream gives an 'Bitmap is invalid' error?
>

the Bitmap is loaded without a header by TResourceStream, you can get around
that with:

procedure TForm1.Button3Click(Sender: TObject);
const
BMapHdr: TBitmapFileHeader = (bfType: $4D42);
var
mStream: TMemoryStream;
rStream: TResourceStream;
begin
rStream := TResourceStream.Create( hInstance, 'BMAP1', RT_BITMAP );
try
rStream.Seek(0, soFromBeginning);
mStream := TMemoryStream.Create;
try
mStream.Write(BMapHdr, SizeOf(BMapHdr));
mStream.CopyFrom(rStream, 0);
mStream.Seek(0, soFromBeginning);
Image1.Picture.Bitmap.LoadFromStream(mStream);
finally
mStream.Free;
end;

finally
rStream.Free;
end;
end;

--
Regards
Ralph (TeamB)
==>
>Michel
>
>>
>>
>>I am trying to simulate LoadFromResourceName like
>>below. This does give me an 'Bitmap is invalid'...
>>
>>What am I doing wrong?
>>
>>Thanks,
>>Kai
>>
>>
>>
>> try
>> stream := TResourceStream.Create( hInstance,
>>'IMG_MISSING', RT_BITMAP );
>> imagescrollbox.LoadFromStream( stream, 'BMP', 1
>>);
>> imagescrollbox.Hint := 'Picture file is invalid
>>or unsupported.';
>> finally
>> stream.Free;
>> end;

[ Next Thread | Previous Thread | Next Message | Previous Message ]

[ Contact Forum Admin ]


Forum timezone: GMT-5
VF Version: 2.94, ConfDB:
Before posting please read our privacy policy.
VoyForums(tm) is a Free Service from Voyager Info-Systems.
Copyright © 1998-2008 Voyager Info-Systems. All Rights Reserved.