Delphi 11.2 64-bit Crashing

Viewing 15 posts - 1 through 15 (of 15 total)
  • Author
    Posts
  • #71000
    Lasse
    Participant

    – Create New Windows VCL application
    – Add SkinManager to form
    – Set SkinDirectory and SkinName
    – Add Windows 64-bit Target platform (if it does not exist) and select it
    – Run

    => “Stream read error”

    32-bit run works fine.

    Is this AlphaSkin or Delphi issue? I see that the System.Classes.TStream has been fixed lately…

    #71001
    Lasse
    Participant

    This seems to be ZLib issue. AlphaSkins is using acZLibEx for 32-bit and it is working. If current ZLib is used 32-bit will break as well.

    #71002
    Lasse
    Participant

    As a workaround before fix you can use for example https://github.com/fundamentalslib/fundamentals5/tree/master/Source/ZLib

    It works on both 32-bit and 64-bit.

    Just comment out current use of ZLib in sSkinManager.pas:

      //{$IFNDEF WIN64}
      //  acZLibEx,
      //{$ELSE}
      //  ZLib,
      //{$ENDIF}
      ZLibEx,
    #71010
    jenswahl
    Participant

    I have only the compiled version without sSkinManager.pas. What can I do? I always posted the error to Serge.

    #71011
    Lasse
    Participant

    You can’t do anything without a source code. I am sure this will be fixed as soon as possible. The situation in Ukraine looks promising.

    #71014
    jenswahl
    Participant

    Thank you. I also hope that this insane war will end very soon.

    #71015
    NormAtHome
    Participant

    Lasse:

    I followed your instructions I did manage to get it to work, it compiled and my program ran so it seems like for 11.2 it’s now working.

    #71016
    Lasse
    Participant

    I haven’t noticed any errors so far.

    I use now ZLib version 1.2.8 from https://www.base2ti.com/

    I know it’s not the latest ZLib version but it works. It would be also possible to rip ZLib from previous Delphi version. Maybe do some comparing to the 11.2 version, find the actual “bug” from it, and report it.

    Btw. there is also two other units using ZLib in AlphaSkins. I changed those too like:

    acAlphaHints:

    //{$IFNDEF WIN64} acZLibEx, {$ELSE} ZLib, {$ENDIF}
     ZLibEx,

    acPNG.pas:

    //{$IFNDEF WIN64}acZLibEx, {$ELSE}ZLib, {$ENDIF}
     ZLibEx, ZLibExApi, 
    • This reply was modified 2 years, 1 month ago by Lasse.
    • This reply was modified 2 years, 1 month ago by Lasse.
    #71019
    chris2023
    Participant

    There is also a curious behave when using the Alphacontrols Editors.
    e.g Boundslabel Editor (Caption), sDecimalSpinEdit (Boundlabel Editor), TsFontstore Fonts-Editor)
    Its a extreme Flickering , after that all Delphi Windows a empty( eg Structur, Palette and so on)
    That happened only on x64.
    Looks like Alphacontrols are then in a extremly Repaint Loop.

    #71023
    Lasse
    Participant

    I noticed that scaling is not working with imagelists in 64-bit…

    Attachments:
    You must be logged in to view attached files.
    #71025
    Lasse
    Participant

    I had to revert back to Delphi 11.1 (without patch 1). That is still the latest Delphi version fully working with AC.

    #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.

    #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.
    #71035
    Lasse
    Participant

    I think it is a flaw in skin package. Unfortunately there isn’t a source for Skin editor.

    #71141
    Support
    Keymaster

    Hello!
    The AlphaControls package v17 has been released today, the issue with crashing has been solved there.

Viewing 15 posts - 1 through 15 (of 15 total)
  • You must be logged in to reply to this topic.