Jump to content

Ian Branch

Members
  • Content Count

    1435
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by Ian Branch


  1. Hi Team,

    Having a SQL statement into the SQL of a Query.  When I open it I get the normal String List editor dialog, no issues.

    If I then click the 'Code Editor...' button it opens the SQL into the Editor however I immediately get a "Access violation at address 207AF82F in module 'coreide270.bpl'. Read of address 00000000." error message.  No matter what I try to do in the editor the error message keeps popping up.

    This is the error trace from the error message..

    ===============================

    [207AF82F]{coreide270.bpl} EditorBuffer.TEditView.DrawPanel (Line 5820, "EditorBuffer.pas" + 59) + $14
    [271D2AD8]{EurekaLogCore270.bpl} Especificdelphi.IsCppExceptionCode + $20
    [27263606]{EurekaLogCore270.bpl} Eexceptioninfocpp.ECppException + $266
    [27266A2C]{EurekaLogCore270.bpl} Eexceptioninfobcb.EBCPPStdException.GetStdException + $184
    [27267EDC]{EurekaLogCore270.bpl} Eexceptioninfollvm.EBCPPStdException.GetStdException + $11C
    [50060D57]{rtl270.bpl  } System.@HandleAnyException (Line 20743, "System.pas" + 13) + $0
    [204719AE]{coreide270.bpl} VirtFile.TExternalFileSystem.GetFilter (Line 237, "VirtFile.pas" + 4) + $2
    [204719C3]{coreide270.bpl} VirtFile.TExternalFileSystem.GetFilter (Line 238, "VirtFile.pas" + 5) + $10
    [207AF826]{coreide270.bpl} EditorBuffer.TEditView.DrawPanel (Line 5820, "EditorBuffer.pas" + 59) + $B
    [207E9022]{coreide270.bpl} EditorForm.TEditWindow.StatusBarDrawPanel (Line 3003, "EditorForm.pas" + 4) + $11
    [50D611DF]{vcl270.bpl  } Vcl.ComCtrls.TCustomStatusBar.DrawPanel (Line 7367, "Vcl.ComCtrls.pas" + 2) + $E
    [50D8DAB0]{vcl270.bpl  } Vcl.ComCtrls.TStatusBarStyleHook.Paint (Line 33455, "Vcl.ComCtrls.pas" + 122) + $19
    [50DF6D8C]{vcl270.bpl  } Vcl.Themes.TStyleHook.WMPaint (Line 7223, "Vcl.Themes.pas" + 18) + $12
    [50F4C99F]{vcl270.bpl  } Vcl.Styles.TCustomStyle.SourceLoaded (Line 3310, "Vcl.Styles.pas" + 1) + $13
    [50DF7202]{vcl270.bpl  } Vcl.Themes.TStyleHook.WndProc (Line 7394, "Vcl.Themes.pas" + 38) + $6
    [50D8DB8C]{vcl270.bpl  } Vcl.ComCtrls.TStatusBarStyleHook.WndProc (Line 33476, "Vcl.ComCtrls.pas" + 0) + $0
    [50DF6A26]{vcl270.bpl  } Vcl.Themes.TStyleHook.HandleMessage (Line 7107, "Vcl.Themes.pas" + 20) + $6
    [50F4D17E]{vcl270.bpl  } Vcl.Styles.TStyleEngine.HandleMessage (Line 3598, "Vcl.Styles.pas" + 22) + $B
    [50DF39C0]{vcl270.bpl  } Vcl.Themes.TStyleManager.HandleMessage (Line 5662, "Vcl.Themes.pas" + 11) + $11
    [50CF9FC7]{vcl270.bpl  } Vcl.Controls.TWinControl.DoHandleStyleMessage (Line 9344, "Vcl.Controls.pas" + 0) + $F
    [50CFB685]{vcl270.bpl  } Vcl.Controls.TWinControl.WndProc (Line 10256, "Vcl.Controls.pas" + 1) + $4A
    [50CFB230]{vcl270.bpl  } Vcl.Controls.TWinControl.MainWndProc (Line 10120, "Vcl.Controls.pas" + 3) + $6
    [50181184]{rtl270.bpl  } System.Classes.StdWndProc (Line 17989, "System.Classes.pas" + 8) + $0
    [5006465D]{rtl270.bpl  } System.@FinalizeArray (Line 33070, "System.pas" + 99) + $3
    [12478278]{CnWizards_D104S.DLL} CnSrcEditorMisc.TCnSrcEditorMisc.OnAppMessage (Line 491, "CnSrcEditorMisc.pas" + 67) + $4A
    [50E5A71F]{vcl270.bpl  } Vcl.Forms.TApplication.ProcessMessage (Line 11002, "Vcl.Forms.pas" + 23) + $1
    [50E5A762]{vcl270.bpl  } Vcl.Forms.TApplication.HandleMessage (Line 11032, "Vcl.Forms.pas" + 1) + $4
    [50E5AA95]{vcl270.bpl  } Vcl.Forms.TApplication.Run (Line 11170, "Vcl.Forms.pas" + 26) + $3
    [0051E104]{bds.exe     } bds.bds (Line 222, "" + 13) + $2

    ========================================================

    I tried different Query components with the same result.

    Can anybody confirm this issue or is it just me?

    This doesn't happen with the same components in D10.3.3.

    Regards,

    Ian 


  2. All,

    Latest svn of GExperts.

    I have opened a new thread on this one as the previous thread had an unrelated title referring to something else.

    This issue already registered with Thomas as Bug # 192.

    Before I start pulling D10.3.3 & D10.4 apart as it were I would ask if anybody else is seeing this when you open the Message Dialog?

    image.thumb.png.7548967e9947ce74da06dd0bd4d03965.png

     

    Unfortunately Thomas is unable to reproduce it which suggests it may be my environment.

     

    Regards,

    Ian

     

     

     


  3. Ha. Ha!  Didn't twig.

    Also, in my case, the Dialog opens like this..

    image.thumb.png.8539efda7b77c2de6510d18af9e19b7c.png

    The same in D10.4.

    D2007 Opens OK with the full dialog.

    Regards & Tks,

    Ian


  4. Latest Gexperts SVN, D10.3.3.

    On creating a new Message using the Message Dialog Wizard I now get this sort of message code..

    procedure TForm3.FormShow(Sender: TObject);
    begin
    MessageDlg(_('Test message.'), mtInformation, [mbOK], 0);
    end;

    Note the '_(' & ')' around the message.

    Something new.  And the '_' is an undeclared identifier.

    Take the '_(' & ')' out and all is good in the world.

    Ian


  5. Hmmm.  OK.  I still have something amiss/NQR.  On telling the PC to shutdown with the App running Windows immediately goes to the Shutting down screen.

    Reminder, I am on a Win 10 PC.

    This is my full code att..

    unit Unit3;
    
    interface
    
    uses
      Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
      Vcl.Controls, Vcl.Forms, Vcl.Dialogs;
    
    type
      TForm3 = class(TForm)
        procedure FormShow(Sender: TObject);
        //
      private
        { Private declarations }
        procedure WMQueryEndSession(var Msg: TWMQueryEndSession); message WM_QueryEndSession; // detect Windows shutdown message
        procedure SaveData; // routine to save data to disk
      public
        { Public declarations }
      end;
    
    function ShutdownBlockReasonCreate(Handle: hWnd; Reason: LPCWSTR): Bool; stdcall; external user32;
    function ShutdownBlockReasonDestroy(Handle: hWnd): Bool; stdcall; external user32;
    
    var
      Form3: TForm3;
      DataToBeSaved: Boolean;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm3.WMQueryEndSession(var Msg: TWMQueryEndSession);
    begin
      if DataToBeSaved then
      begin
        Msg.Result := lResult(True); // disallow Windows from shutting down
        SaveData;
      end;
      Msg.Result := lResult(False); // allow Windows shutdown
    end;
    
    // Set DataToBeSaved to False after saving data
    procedure TForm3.FormShow(Sender: TObject);
    begin
      DataToBeSaved := True;
    end;
    
    procedure TForm3.SaveData;
    begin
      ShutdownBlockReasonCreate(Application.MainForm.Handle, 'please wait while muting...');
      // Save data to disk files
      // ...
      beep;
      beep;
      beep;
      DataToBeSaved := False;
      //
      ShutdownBlockReasonDestroy(Application.MainForm.Handle);
    end;
    
    end.

    At least it builds now. 😉

    • Like 1

  6. Yes I found it informative but I get a "E2169 Field definition not allowed after methods or properties" error pointing at the external user32;   😞

    type
      TForm3 = class(TForm)
        procedure FormShow(Sender: TObject);
        procedure WMQueryEndSession(var Msg: TWMQueryEndSession);
        message WM_QueryEndSession; // detect Windows shutdown message
        procedure SaveData; // routine to save data to disk
        function ShutdownBlockReasonCreate(hWnd: HWND; Reason: LPCWSTR): Bool; stdcall; external user32;
        function ShutdownBlockReasonDestroy(hWnd: HWND): Bool; stdcall; external user32;

    The following is as I understand it att..

    procedure TForm3.WMQueryEndSession(var Msg: TWMQueryEndSession);
    begin
      if DataToBeSaved then
      begin
        Msg.Result := lResult(True); // disallow Windows from shutting down
        SaveData;
      end;
      Msg.Result := lResult(False); // allow Windows shutdown
    end;
    
    // Set DataToBeSaved to False after saving data
    procedure TForm3.FormShow(Sender: TObject);
    begin
      DataToBeSaved := True;
    end;
    
    procedure TForm3.SaveData;
    begin
      ShutdownBlockReasonCreate(Application.MainForm.Handle, 'please wait while muting...');
      // Save data to disk files
      // ...
      beep;
      beep;
      beep;
      DataToBeSaved := False;
      //
      ShutdownBlockReasonDestroy(Application.MainForm.Handle);
    end;

     


  7. OK.  Didn't see the "ShutdownBlockReasonCreate function" note.

    Had a look.  It's cryptic to me and doesn't really give me any insight as to what is required. 😞

     

    Guys,

    Let's forget about it.

     

    Thank you for your attempts to educate me.  I apologise for my lack of knowledge/skill.

     

×