wesson

Forum Replies Created

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • in reply to: Delphi 11.2 64-bit Crashing #71029
    wesson
    Participant

    I have exactly the same issue. Under 64 bits Alphaskin is just not usable.

    Here is what I have

    Attachments:
    You must be logged in to view attached files.
    in reply to: Delphi 11.2 64-bit Crashing #71028
    wesson
    Participant

    It’s indeed a Zlib issue.
    The input stream is read buffered by chunks of 64 K. Therefore when the decompression is done (Z_END status), the input stream is not positioned right after the compressed data. As in the skins all the data is just concatenated,
    Once the 1st decompression is done the source stream does not point to the next chunk

    It can be solved in System.Zlib with the following (line 2752)

      if (zresult = Z_STREAM_END) and (FZStream.avail_in > 0) then
      begin
        Dec(FStreamPos, FZStream.avail_in);
        Fstream.Position := FStreamPos;
    
        FZStream.avail_in := 0;
      end;

    It’s a flaw either in the design of the alphaskin storage (no table of offsets), and in the Delphi RTL which should take care of repositioning the input stream to the byte after the last input byte read.

    wesson
    Participant

    Hello, then it's my turn to say I'm sorry for being harsh, I was under the impression that you didn't ever wanted to provide a solution.

    I can confirm that turning ACPngFirst variable to TRUE solve the loading issue.

    'Support' wrote:

    PS. Discussion about PngComponents is interesting for me still (if you has a time for that).

    If you uses some useful features of this library, then maybe I will implement it in the acPNG and TsAlphaImageList.

    In fact, since we have purchased Alphaskin, we are in the process of replacing all PNG ImageList with TsAlphaImageList. But it takes some time.

    One interesting feature in PngImageList is the ability to give a name to every image.

    wesson
    Participant
    'Support' wrote:

    Hello!

    XE6 has own support of Png. Why you uses third-party component for that?

    Because the so-called 3rd-party component (PngComponents) bring the TPngImageList with extra features.

    Also because it is said to be supported in Alpha Controls, which was one of our key requirements. When using PNG images list in your controls, the rendering is done with full alpha support, in a much better (and simpler) way than with regular image list / mask maps combination, especially with the transparency.

    So I am sorry to tell you that I am a little bit disappointed by your answer, which can be summed up as “I claim in my library to have support for something, and when someone find out it's not the case, I explain him that he should avoid the feature instead of trying to fix it.”. Should I regret the license I have purchased ?

    And on a strict developper point of view, PngComponent source is regularly updated from the Embarcadero website, which mean it can be considered as officially supported by Delphi. Also the fact that I suspect the support of PNG images is fairly broken in Delphi for the Designtime. On a straight IDE installation, dropping a speedbutton on a form and loading a glyph will not provide PNG as possible image format. However if Alphacontrol is installed, the PNG option is appearing but the loading doesn't work. So I assume it's not related to the inclusion of PNGComponent, but to the fact that adding Alphacontrol will add PNG to the possible format list, but then fail to load properly the image.

    What can I say more ?

    wesson
    Participant
    'Support' wrote:

    Try Zip file.

    OK, zip do work. See the readme inside the app to reproduce. It's very simple.

    wesson
    Participant
    'Support' wrote:

    Yes, this app can help.

    I've tried to send the project in a 7z archive, and here is the answer

    Error You aren't permitted to upload this kind of file

    can you fix or which extension / file format I should use ?

    in reply to: Bug when deactivating skins (with fix proposal) #50561
    wesson
    Participant
    'Support' wrote:

    Thank you, I'll check it soon.

    Btw, sSkinProvider.pas is not attached here 🙂

    My mistake, I forgot to push the “attach this file” button.

    It's based on Version 8.34, modifications are in lines 6793, 6827 and 6834

    in reply to: Bug when deactivating skins (with fix proposal) #50559
    wesson
    Participant

    Also same issue (out of bound access to dynamic array) occurs when switching between themes (ex: from BlueGauze to BlueGlass).

    For the fix, there is an attached a patch file for sSkinProvider.pas

    There's not a lot of range checks in the code… 😉

Viewing 8 posts - 1 through 8 (of 8 total)