TsOpenDialog crashes with access violation

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #33878
    goliathbe
    Participant

    Take the following basic code:

    CODE
    var
      OpenDialog: TsOpenDialog;
    begin
      OpenDialog := TsOpenDialog.Create(Self);
      OpenDialog.Filter := 'All files (*.*)|*.*';
      OpenDialog.Execute;
      OpenDialog.Free;
    end;

    Steps to reproduce:
    – Enable skinning (the error does not occur without an active skin manager), any skin will do
    – Run the above piece of code
    – Click/select the filter combobox ('Files of type:') inside the TsOpenDialog (simply tabbing to it will not cause the error)
    – Press OK or Cancel

    You should receive an access violation. Basically any time you click the filter combobox with your mouse you will get an access violation when the dialog closes.

    #43018
    goliathbe
    Participant

    Any feedback on this? Is it a known error? Do i have a corrupt installation?

    We're developing a large application 40+ forms/dialogs that serves as configuration software for a home automation system. So a working OpenDialog would be nice.

    Also, dropping a TsCoolbar onto a form gives me an access violation (even in a new empty application without skinning).

    I'm using the v7.00 beta. Maybe i need to revert to the latest stable release?

    #43021
    emailaya
    Participant

    try using 7.02
    there were a lot of fixes there

    #43024
    goliathbe
    Participant

    Excellent idea! I just upgraded, and 7.02 fixes the TsCoolBar bug.

    The TsOpenDialog bug remains though:
    – Drop a TsOpenDialog component
    – Run Execute() to show the dialog
    – Click the filter combobox so it gets focus
    – Click Cancel -> Access Violation

    AlphaControls is a wonderful package though, great work by the development team

    #43025
    goliathbe
    Participant

    + Deleting a TsCoolBar component in Delphi 7 cause repeated access violations, to the point of the Delphi IDE crashing

    #43026
    goliathbe
    Participant

    To temporarily solve the problem with the TsOpenDialog I've changed the following which causes the error:

    acSBUtils: line 1141

    CODE
    if (sw <> nil) and not sw.Destroyed and (sw.SkinData.FOwnerControl <> nil) then begin


    to

    CODE
    if (sw <> nil) and not sw.Destroyed and (sw.SkinData <> nil) and (sw.SkinData.FOwnerControl <> nil) then begin

    Since sw.SkinData is nil at some point causing the code to access a member of a non-existant object

    #43030
    Support
    Keymaster

    Hello
    These problems will be solved in the v7.03

    #43041
    goliathbe
    Participant

    Great, thank you! Keep up the good work

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