Ian Branch
Members-
Content Count
1352 -
Joined
-
Last visited
-
Days Won
3
Everything posted by Ian Branch
-
Ah Ha! Tks haentschman. I have never used constraints. I shall have a play.
-
GExperts supports even more laziness
Ian Branch replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
Hi Thomas, Now that's an excellent idea. π I wasn't being picky, just making you aware. Regards, Ian -
GExperts supports even more laziness
Ian Branch replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
Hi Thomas, Rev 3209 Builds in D2007, D10.3.3 & S10.4 OK. Got the attached message when I run D10.4. Can't find TFormHotKeysExport.bmp on the PC. Regards, Ian -
GExperts supports even more laziness
Ian Branch replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
Oh Dear! D2007, D10.3.3 & D10.4. GExperts svn rev 3201. Get similar as the Attached error on all three Delphis when building. The D2007 has a slightly different error report. Happens on either an svn update or a fresh full svn pull. Hmmm. Is Delphis the plural of Delphi?? Or is it Delphies?? Regards, Ian -
Agreed. I'd suggest putting him on the IDE development staff but he may end up in a black hole. π
-
ParnassusCoreEditor.dll AccessViolation
Ian Branch replied to bazzer747's topic in Delphi Third-Party
I have the same issue. π Moving into D10.4 so I deleted BM from D10.3.3. Still rather have it in both until all project are updated... -
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
-
D10.4 - Possible Bug when editing SQL
Ian Branch replied to Ian Branch's topic in Delphi IDE and APIs
Confirmed. -
D10.4 - Possible Bug when editing SQL
Ian Branch replied to Ian Branch's topic in Delphi IDE and APIs
Tks Uwe, Feel free to add your own input and comments/vote to the RSP. Ian -
D10.4 - Possible Bug when editing SQL
Ian Branch replied to Ian Branch's topic in Delphi IDE and APIs
Bug report created. https://quality.embarcadero.com/browse/RSP-29581 -
D10.4 - Possible Bug when editing SQL
Ian Branch replied to Ian Branch's topic in Delphi IDE and APIs
I just removed the two indicated add-ons and get the same result. -
D10.4 - Possible Bug when editing SQL
Ian Branch replied to Ian Branch's topic in Delphi IDE and APIs
Hi Uwe, With a clean D10.4 or with some 3rd party add ons? Ian -
wuppdi Welcome Page for Delphi 10.4?
Ian Branch replied to PeterPanettone's topic in Delphi IDE and APIs
Ah Ha! Done. Tks. -
wuppdi Welcome Page for Delphi 10.4?
Ian Branch replied to PeterPanettone's topic in Delphi IDE and APIs
Be nice if there was a way to copy/transfer the Favourites from D10.3.3 WuppdiWP to D10.4 WuppdiWP. -
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
-
Fair enough. I wasn't sure if it was a bug or a setting.
-
Ha. Ha! Didn't twig. Also, in my case, the Dialog opens like this.. The same in D10.4. D2007 Opens OK with the full dialog. Regards & Tks, Ian
-
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. π
-
Ahhhh. Ha! Testing..
-
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;
-
OK. I'll have another try. I have had a look at the article above and am trying to integrate the ShutdownBlockReason.... functions. Where are the declared/defined?
-
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.
-
Hi Cristian, Clearly I don't understand the documentation. Hi David, IIUC the code had the 'True' & 'False' around the wrong way?? I also think the Msg.Result := 0; // disallow Windows from shutting down was in the wrong place and should have been before the ShowMessage, AND should have been.. Msg.Result := 1; // disallow Windows from shutting down I'm trying here guys but this is all new to me.
-
Hi Cristian, Yes I know. My issue/point is that I am NOT getting the message. Hence it would seem that the procedure isn't being called.
-
Hi Cristian, Thank you for your input. I don't want to stop it, just delay/pause it while the App writes to the log and closes the database gracefully. Hence the procedure TMainForm.SaveData; Then Windows can shut down. ATT the message display is purely to confirm that something is happening in the routine.