[fpc-devel] big resource

Michael Van Canneyt michael at freepascal.org
Tue Jul 7 09:50:53 CEST 2009



On Mon, 6 Jul 2009, Dariusz Mazur wrote:

> Michael Van Canneyt pisze:
>> 
>> 
>> On Mon, 6 Jul 2009, Dariusz Mazur wrote:
>> 
>>> Michael Van Canneyt pisze:
>>>> 
>>>> 
>>>> On Mon, 6 Jul 2009, Dariusz Mazur wrote:
>>>> 
>>>>> Hi
>>>>> I include res file to executed file. Res is compiled by  brcc32 from RC. 
>>>>> Till now everything work OK.
>>>>> But when i try extract big PNG picture from RES I had wrong size of 
>>>>> file.
>>>>> File has length 136303.
>>>>> When I read it from res length is   5321. This seems  size of res is 16 
>>>>> bit.
>>>>> 
>>>>> This is intentional that size of resource is limited ?
>>>> 
>>>> Not intentionally, at least not that I am aware of. Maybe there is a bug 
>>>> ?
>>> I use {$R file.res}
>>> How prepare testcase: should I attach big PNG+RC+RES file?
>> 
>> Yes, but please test with 2.3.1 first. the resource mechanism was 
>> rewritten.
> I made some test
> FPC 2.3.1 with RC compiled by binutils windres - everything is OK
> FPC 2.3.1 with RES compiled by brcc32 - 131kb png is not found

Strange behaviour of brcc32. Does it work with Delphi ?

>
> FPC.2.2.4 with RC compiled by binutils windres -
> 131kB PNG - size from resource is 5231
> 50KB PNG - size from resourse is 4294951983 (sic)
>
> FPC.2.2.4 with RC compiled by brcc32 -
> 131kB PNG - size from resource is 0 (absent)
> 50KB PNG - size from resourse is 4294951983
>
> I can make and upload more test, but which?
> Is there any chance to make patch to FPC 2.2.4 (its stable)

Not likely. 
The fixes in resources are HUGE, and have not been merged to 2.2.4 for this reason.

The problem seems most likely to be in the resource compilers. Neither of
them are maintained by FPC, so we cannot fix that. It would be useful to
see if the brcc32 resource compiler produces a correct .res by trying to 
extract it from Delphi.

If you don't have Delphi, can you make a sample program that tests it ? 
Then I will try to compile and run.

Michael.



More information about the fpc-devel mailing list