[delphizip] Re: bug

  • From: Roger Aelbrecht <Roger.Aelbrecht@xxxxxxxxx>
  • To: delphizip@xxxxxxxxxxxxx
  • Date: Thu, 01 Feb 2007 18:44:05 +0100

Don wrote:
> I just discovered some more information.  The CDemo1 app has the following
> 
> void __fastcall TMakeSFX::DefIconRBClick( TObject *Sender )
> {
>     ImageList1->GetIcon( ( (TRadioButton *)Sender )->Tag, 
> Image1->Picture->Icon );
>     MainForm->ZipBuilder1->SFXIcon = Image1->Picture->Icon;
> 
> If the line
> 
> MainForm->ZipBuilder1->SFXIcon = Image1->Picture->Icon;
> 
> is commented out, it works.   Of course that line calls the ReplaceIcon 
> functon in the ZipIntSFX file.
> Don
> 
> -----------
> To unsubscribe from this list, send an empty e-mail 
> message to:
>   delphizip-request@xxxxxxxxxxxxx 
> and put the word unsubscribe in the subject.
> 
> 
I found the problem source.

The TImageList in BDS4 seems to behave different from the version used 
in BCB5
Although the Imagelist is loaded with icons of 766 bytes in size the 
function imagelist->GetIcon returns a TIcon with size 4286 this results 
in the 'Wrong Size' error from the ZBIntSfx as it should because it was 
going to replace a 766 bytes resource data with 4286 bytes.

I could not find any indication how we can change the behavior of the 
TImagelist.

If the icon is loaded from file then there is no problem.

I have done some quick test and if the icon is loaded from a 
TImage->Picture->Icon then there is also no problem.

I propose the change the CDemo1 project so that it does no longer uses 
the TImageList but that requires some redesign and testing;

I will inform you when an update is available.

-- 
Roger Aelbrecht


-----------
To unsubscribe from this list, send an empty e-mail 
message to:
  delphizip-request@xxxxxxxxxxxxx 
and put the word unsubscribe in the subject.

Other related posts: