-
Content Count
35 -
Joined
-
Last visited
Everything posted by vhanla
-
FMX form called from VCL form doesn't apply Top Most style to its child windows.
vhanla posted a topic in FMX
I'm using MonkeyMixer IDE plugin to allow inserting a new FMX form inside my VCL project. I'm launching the FMX form using: Form2.Parent := Form1; Form2.Show; However, the Form2 (FMX form), its FormStyle is set to StayOnTop. But the new child windows won't show inheriting the WS_EX_TOPMOST GWL_EXSTYLE from the Form2 (fmx window), which indeed, it is TOP MOST. So the result is something like this: - The context menu shows behind the form. - The ShowMessage also shows behind that form. - And if I close that Form2, the ShowMessage window still remains there. Important: The context menu (PopupMenu) and the ShowMessage box belongs to the Form2 (FMX form). Notice that this works correctly in a pure FMX project, but this issue only happens in the mixed methods. I guess it has something to do with the VCL forms interfering with the FMX forms handling, since using VCL styles, seems to be applied in the FMX form but partially, as shown in the following picture: Do you know how to fix that? [EDIT] I found a hardcoded "workaround", which is to modify the FMX.Platform.Win.pas file modifying the function TPlatformWin.CreateAppHandle:HWND; adding WS_EX_TOPMOST 😅, it "works as expected" now, but it will turn all TOPMOST: Result := CreateWindowEx(WS_EX_WINDOWEDGE or WS_EX_TOPMOST or WS_EX_TOOLWINDOW, FMAppClass.lpszClassName, PChar(FTitle), WS_POPUP or WS_GROUP, 0, 0, 0, 0, GetDesktopWindow, 0, hInstance, nil) -
I know this is not the correct place to report a bug. And I would like to know if this occurred to your applications too. I am trying TTitleBarPanel, as follows: Create a new VCL application, enable custom title bar, add TTitleBarPanel and assign it to TForm. Run application and, when hitting ALT key twice or more just after launch, application hangs and shows stack overflow then terminates. NOTICE: that I tested it on Windows 10 x64 Pro (21H1 and 21H2) and Windows 11. But if ALT key bug is not reproducing this error (as mentioned above), most likely, it always (at least in my case), if the application switches between an exclusive DirectX Fullscreen applicaiont (game), this error shows. specially when fullscreen application blocks the modern Alt+Tab window (that list with thumbnails) and it forces the OS to use the classic Alt+Tab, switching back and forth between your custom titlebar application and that directx application (many times/repeatedly) causes that bug, for instance, I'm testing it with Riot's game League of Legends, which captures/modifies the Alt+Tab behavior. Here are some snapshots. And if I use MadExcept component it shows: exception number: 1 exception class: EStackOverflow exception message: Stack overflow. Using this third party component, to continue the application is possible, otherwise, the application just terminates, since there is no alternative. I have tried with non patched Sydney and patched Sydney (from GetIt manager), this happens everytime, whether installed Madshi's exception handler, or without it (uninstalled). IMPORTANT: If removed TTitlebarPanel this error is gone 🙂.
-
Delphi’s TZipFile working on a stream
vhanla replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
Thank you! 😀 AddStrings is way faster. The issue occurred by calling: zip.Filenames[i] many times inside that loop because the reason you mentioned, specillay on big zip files which has many files compressed. -
Delphi’s TZipFile working on a stream
vhanla replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
var vZipContents := TStringList.Create; var zip := TZipFile.Create; try if TZipFile.IsValid(fZipFilename) then begin zip.Open(fZipFilename, zmRead); for I := Low(zip.FileNames) to High(zip.FileNames) do begin vZipContents.Add(zip.FileNames[I]); end; Memo1.Lines := vZipContents; end; finally zip.Free; vZipContents.Free; end; -
Delphi’s TZipFile working on a stream
vhanla replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
Hello, everyone. How do I list zip file contents? I tried using a loop `for Low(vZip.Filenames) to High(vZip.Filenames)......... fList.Add(vZip.Filenames)` it works, but it is very slow. -
I need to change language and disable CSP in WebView2, I've read it can be done on CoreWebView2EnvironmentOptions, there is a sample for C# at StackOverflow CoreWebView2EnvironmentOptions options = new CoreWebView2EnvironmentOptions("--disable-web-security"); CoreWebView2Environment environment = await CoreWebView2Environment.CreateAsync(null, null, options); // EnsureCoreWebView2Async must be called before any other call // to EnsureCoreWebView2Async and before setting the Source property // since these will both cause initialization of the CoreWebView2 property // but using a default CoreWebView2Environment rather than your custom one. await webview2.EnsureCoreWebView2Async(environment); And in Edge.pas there is InitializeWebView which creates it, but it passes nil to CoreWebView2EnvironmentOptions argument. var hr := CreateCoreWebView2EnvironmentWithOptions(PChar(BrowserExecutableFolder), PChar(UserDataFolder), nil, Callback<HResult, ICoreWebView2Environment>.CreateAs<ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler>( CreateEnvironmentCompleted)); So, I'm trying to pass that parameter instead of nil, how can I create/initialize ICoreWebView2EnvironmentOptions with those custom arguments? I'm injecting JS code (like custom user scripts/extensions to one of my projects) and it is blocked each time due to content security policy. Maybe I'm not in the right direction, but I guess this is the reason it doesn't load/inject scripts from public CDNs. I don't know how to initialize it, official documentation has some examples, like this at https://docs.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2environmentoptions?view=webview2-1.0.961.33 auto options = Microsoft::WRL::Make<CoreWebView2EnvironmentOptions>(); CHECK_FAILURE(options->put_AllowSingleSignOnUsingOSPrimaryAccount( m_AADSSOEnabled ? TRUE : FALSE)); if (!m_language.empty()) CHECK_FAILURE(options->put_Language(m_language.c_str())); HRESULT hr = CreateCoreWebView2EnvironmentWithOptions( subFolder, m_userDataFolder.c_str(), options.Get(), Callback<ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler>( this, &AppWindow::OnCreateEnvironmentCompleted) .Get()); Can you help me, please? I guess it is not using CoInitialize(IID_ICoreWebView2EnvironmentOptions,.... etc), I'm lost here. As of now, I'm still using to CEF4Delphi, but I guess WebView2 might be more useful since user's won't worry on updating as it is part of Edge Browser, which comes in Windows, so that might be more convenient. 😁
-
I tried modifying installation to add features I opted out in previous installation, but installer shows -1 bytes If I mark a new feature to add, it counts negatively Why is that? I have free space almost 100GB. Something is wrong here.
-
Hello, I was trying to use `Application.MainFormOnTaskbar := False` in a FMX application, but it doesn't exits there. So after looking for answers, I found this one: uses ... FMX.Platform.Win, Winapi.Windows,... begin Application.Initialize; ShowWindow(ApplicationHWND, SW_HIDE); ... This kind of works, but it is not as "silent"ish as the VCL counterpart, because it still shows a blank button being added to the taskbar then disappears before completely showing its icon. This is more noticeable when FMX application it not pinned. It shows it in small amount of time, before hiding it but is noticeable. Is there any way to completely hide it on launch? I'm writing a tool to center the taskbar's icons, and also another one to pin icons and launch from its position (pinned .lnk with different arguments are allowed more than once) like mac's stacks but with fancy FMX effects and animations, but launching them (being it a FMX application and as stated before it has that taskbar issue) is noticeable since my other tool rearranges its position and it looks weird, but normal VCL application doesn't do that. I also tried mixing VCL with FMX as MonkeyMixer method suggests, with main application VCL which is hidden and launches the FMX form, yet it still has the same issue, it shows an incomplete icon in the taskbar to fastly disappear, and since my other tool center icons, it is expected that it rearranges taskbar's icons giving an effect like shaking, which is very annoying. In this gif animation I show what I mean. The FMX version is the last icon, when it is launched the taskbar's icons restart due to that mentioned issue (might fix in the centering application, but without injecting code is hard, though is planned for distant future, I don't want to deal with explorer.exe unexpected crashes yet), while the other launches from pinned icons is a VCL application, and as you can see it doesn't try to create a taskbar button, just remains hidden from the beginning. Notice that I don't want those applications to be visible because (otherwise) taskbar's thumbnail will interfere in "usability", and that is not wanted. However, I might fix the centering application with delaying and etc ways, but the original question is regarding to hide it completely from taskbar on launch, and to keep it running in background is an option, but I still want it to solve that issue as is (required).
-
How to completely hide application from taskbar (on launch)?
vhanla replied to vhanla's topic in FMX
Thanks, actually changing GWL_EXSTYLE with SetWindowLong is for hiding it from Alt Tab list. Tried that too, it still shows the taskbar button for a very little amount of time, then it disappears. Unlike VCL applications, FMX applications somehow still tries to show its taskbar icon. `ApplicationHWND` itself without even creating form neither running it, shows its taskbar icon. e.g. in projects file (dpr) I uncomment Application.CreateForm... and Application.Run; but add var Handle := ApplicationHWND; after Application.Initialize; the taskbar icon is created and obviously hidden since application terminates after that. When that incompleted FMX application is launched, current foreground application (e.g. explorer) is lost and focuses on a non visible application (our app) just to return to the original foreground window (since it terminates), weird thing is taskbar still shows its icon "flashing" to fastly disappear. Another interesting thing is, that creating a FMX application (in this case 2D mutidevice application) it always creates a Unit2 /TForm2 as main initial form even though there is no Unit1, at least here on my Delphi 10.3 Update 3 Rio installation. So debuggin it with IDA shows a call to FMX::Platform::Win::TPlatformWin::CreateAppHandle which indeed calls Winapi.Windows.ShowWindow just by calling ApplicationHWND function. Notice the icon in the taskbar, it belongs to that FMX application. Anyhow, I tried using the non ApplicationHWND method, which is the one finding the current process id window to hide, which also works. Calling HideAppInTaskbar(Form Handle) from FormCreate shows that before even processing that call, its icon is already added to explorer's taskbar. This procedure does what is expected, to hide the taskbar's icon, but it doesn't avoid its creation in the first place, so it is always visible after launching, at least for a very short period of time. That's because after Application.Run, FMX.Platform.Win.TPlatformWin.Run procedure calls Fmx.Forms.TApplication.RealCreateForms, which also calls Fmx.Forms.TApplication.CreateForm -> Fmx.Forms.TCommonCustomForm.Create -> public Fmx.Forms.TCommonCustomForm.InitializeNewForm -> Fmx.Forms.TCommonCustomForm.CreateHandle which as similar as ApplicationHWND it is called from Fmx::Platform::Win::TPlatformWin::CreateWindow GetApplicationHWND -> Fmx.Platform.Win.TPlatformWin.UpdateApplicationHwnd ends up calling Fmx.Platform.Win.TPlatformWin.CreateAppHandle Which indeed calls ShowWindow with nCmdShow parameter using argument 1 (SW_SHOWNORMAL), then it follows other calls to finally end up with FormCreate procedure in our main form, so those suggested tricks to hide the taskbar icon are finally applied, after it was shown in the first place. However, since every application is a binary, it can be patched, so I tried patching it in the binary to 0 (SW_HIDE) and it worked, no more issues. push 1 in hex 6a 01 (BA 01 00 00 00 in x64), just replaced with 64 00 in the binary/executable using a hex editor, and voilà it finally worked as I was requiring. No more tiny little amount of time showing the taskbar icon just to hide it afterwards. Notice that it might differ in your project, but mine was located at this hex pattern location in my binary/executable (which was not found more than once). ff 8b d8 6a 01 53 e8 so I just look for it and patch after each build. Only 32 bit builds. 48 89 4d 70 ba 01 00 00 00 e8 in x64 builds (debug&release mode). At least with Delphi Rio 10.3.3 Finally, the culprit seems to be function TPlatformWin.CreateAppHandle: HWND in FMX.Platform.Win.pas file, which calls Winapi.Windows.ShowWindow(Result, SW_SHOWNORMAL) instead of SW_HIDE). However it was called from TPlatformWin.CreateWindow function when ParentWnd = 0, which means no parents are found. Then it follows ParentWnd := ApplicationHWND; <--- this function, as mentioned before, leads to create and show a non visible window, just to get the application handle, the procedure in question is TPlatformWin.UpdateApplicationHwnd when there is no parent handle. But modifying those delphi source code files don't work, so I ended patching it after the binary is created. [Update] Thanks to this answer at SO https://stackoverflow.com/a/10471855/537347 the solution was just a matter to copy the FMX.Platform.Win.pas file to your project's directory and make the changes to CreateAppHandle function: function TPlatformWin.CreateAppHandle: HWND; var ... begin ... Result := CreateWindowEx(WS_EX_WINDOWEDGE or WS_EX_APPWINDOW, FMAppClass.lpszClassName, PChar(FTitle), WS_POPUP or WS_GROUP, 0, 0, 0, 0, GetDesktopWindow, 0, hInstance, nil); if FApplicationHWND = 0 then // this is checked by ApplicationHWND function Winapi.Windows.ShowWindow(Result, SW_HIDE) // make sure our application never shows in taskbar icon in this case else Winapi.Windows.ShowWindow(Result, SW_SHOWNORMAL); end; Originally, there is no conditional and uses the SW_SHOWNORMAL argument only, this fixes that. Now, I'm not worried about patching the created binary/exe anymore. Just remember to remove it from public repositories as it is a copyrighted material. However, I left the patching method incase your Delphi license/edition doesn't include FMX source code. -
None of them worked, I also tried recommended version from http://docwiki.embarcadero.com/RADStudio/Sydney/en/Using_TEdgeBrowser_Component_and_Changes_to_the_TWebBrowser_Component 0.9.430 which fails with access error, newer versions don't show any error messages, just creates a directory called appname.exe.WebView2 which is empty unlike previous one, which fills with a bunch of files and directories but fails. I installed and copied files from fixed cab too (from https://developer.microsoft.com/en-us/microsoft-edge/webview2/ to include EmbeddedBrowserWebView.dll I have Edge canary and stable installed, both 64 bits. MyApps compiled and tried x86 and x64. dlls respectively, none of them works. --- IMHO, new fixed approach (from that installer page) seems just like CEF embedded, almost like shipping your own web browser, wasting more RAM unless you take full advantage of web technologies, I'd prefer old EdgeHTML approach (aka. WebView1.0 for Win32) it works nicely for simple tasks. https://stackoverflow.com/a/52788855/537347 I wish they'd give more freedom like CEF4Delphi, specially when using system notifications (from webpage), which is still attached to its runtime executables, also audio sessions. Both versions are like that, WebView for Win32 v1.0 and newer v2. https://github.com/MicrosoftEdge/WebView2Feedback/issues/4 CEF4Delphi as far as I remember allows to identify web notifications from your application. While Edge's embedded gives Win32WebViewHost (for previous version), and for this new one, it shows a description for desktop notification from web viewer (in your locale) which doesn't give any way to notify users which application's the notification came from, i.e. all programs using WebView2 will notifiy (web notifications) with the same application identifier (hardcoded by Microsoft).
-
type TForm1 = class(TForm) Panel1: TPanel; procedure FormCreate(Sender: TObject); private { Private declarations } procedure WMNCCalcSize(var Msg: TWMNCCalcSize); message WM_NCCALCSIZE; public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin // to hide white 1px line in top DoubleBuffered := True; Panel1.Align := alClient; Panel1.BevelOuter := TBevelCut.bvNone; Panel1.Caption := ''; // enable DWMApi Shadow GlassFrame.Top := 1; GlassFrame.Enabled := True; end; procedure TForm1.WMNCCalcSize(var Msg: TWMNCCalcSize); begin // to hide caption bar Msg.Msg := WM_NULL; inherited; end; I was playing with this in Windows 10/Rio. I don't know if on other versions requires more adjustments (I guess so), but this was short code to achieve that. And it keeps system context menu, aero snap response too. I tried painting canvas to remove the 1 pixel white line at the top, no success, but `doublebuffered` set to true along a component occupying that part was enough.
-
I just uninstalled Delphi 10.4 (trial ended) and reinstalled Delphi 10.3.3 CE, (had to activate again 2/3 because I reinstalled Windows 10 on the same machine "sigh SSD died" I lost the downloaded slip). Anyway, after reinstalling, windows registry were not updated TO 20.0 FROM 21.0 for each delphi files, I had to mannually update each registry in HKEY_CLASSES_ROOT, because opening those files from File Explorer tried to use 10.4 executable, file associations were kept from latest version. I had to pick BDS for each filetype from File Explorer (double click). At the end I'm reinstalling Delphi 10.3.3 once more, now this uninstaller (InstallAware) seems to delete registry entries for file associations, I'm doing it in case other registry entries not related to file associations are still trying to use 10.4's sadly, this old Installer/Uninstaller is slower than newer. Reinstalled and an error message shows on first launch. Definitely I'm having lot of issues with Delphi, I'm sad. I'm starting to believe that I have to switch to another programming language, which I don't want. OMG, second reinstall, file associations and launching them still not working. Maybe I should reinstall Windows 10 (2004 BTW). As usual, I'm backuping registry entries to reapply incase the license manager fails on IDE crash, which usually happens to me, restoring from registry entries saved me a lot of times, and migration tool was useless in that case, which forced me to reinstall (the nth times) I ended up with these icons using Open always with option, I can't differentiate them, maybe I will try to find out which icon index to update to on registry. Thanks for reading.
-
Delphi Rio 10.3.3 reinstall after uninstalling Delphi 10.4 doesn't update filetypes in registry
vhanla replied to vhanla's topic in Delphi IDE and APIs
Thank you. Is there any way to know why the IDE crashed and closed itself without any warning? A log file or something? It just keeps closing itself for no reason, I start the IDE and after a while it hungs and closes right away, no warnings, nothing, it just closes randomly, no special steps. -
Delphi Rio 10.3.3 reinstall after uninstalling Delphi 10.4 doesn't update filetypes in registry
vhanla replied to vhanla's topic in Delphi IDE and APIs
Thank you! -
Classic Undocked layout is buggy, sometimes it causes to restart the IDE without any prompt, and LSP is slower to popup than previous version, maybe is just my installation.
-
I've been having these issue for a long time, almost on all Delphi CE since Tokyo, and it is related to license, it is correctly working after installing, but after some usage if the IDE crashes because of a IDE plugin (installed from GetIt) like bookmarks (in this last issue), the IDE crashes and I can't close the project, also can't close the IDE in order to restart, so I just kill the IDE, but after restarting it shows License prompt asking for registration. However, when I launch the License Manager with button called Advanced, the license is still there with 360 days or more left, and it says is registered, but after closing that window it shows error message "You are not licensed to use..." and Delphi is not working anymore. So I have to reinstall all over again, and it works again. But it is a pain in **** to do that again and again, reinstall the components, etc. The error that locks the IDE seems related to some *.bpl file. It is happening me each time, the license is only for one computer and no other computers were used previously. Does anyone had the same issue with license? Now, I have to reinstall, in order to continue using the IDE, it is unpleasant. BTW, I guess I reported that issue before.
-
I'm trying 10.4 (trial), and I can't find out why this error keeps occurring, I'm starting to suspect JCL or JVCL has something to do, since the last time my previous installations that didn't show this error at all these components were not installed (not really sure though). However, today Delphi IDE 10.4 also had this error, and even though I reapplied the trial key and import saved files which I did using migration tool (just after installing 10.4) didn't help at all. I had to reinstall, again.
-
Just installed it, and created a new VCL application project. Launched the debug (F9) and after closing the VCL application, it throws error Complete Error log is: [206C0D7B]{coreide270.bpl} Desktop.TDesktopStates.RestoreDesktop (Line 1713, "Desktop.pas" + 8) + $14 [206C1938]{coreide270.bpl} Desktop.TDesktopState.SaveRuntimeInfo (Line 1935, "Desktop.pas" + 0) + $C [206C0D62]{coreide270.bpl} Desktop.TDesktopStates.RestoreDesktop (Line 1712, "Desktop.pas" + 7) + $0 [206C13E6]{coreide270.bpl} Desktop.TDesktopStates.ProcessTerminated (Line 1818, "Desktop.pas" + 2) + $12 [20850478]{coreide270.bpl} DebuggerMgr.TProcessEvent.Send (Line 716, "DebuggerMgr.pas" + 2) + $14 [20854E34]{coreide270.bpl} DebuggerMgr.TDebuggerMgr.ProcessStateChanged (Line 2606, "DebuggerMgr.pas" + 8) + $E [2037386A]{dbkdebugide270.bpl} Debug.TDebugger.DoNotifyProcessStateChanged (Line 11425, "Debug.pas" + 2) + $18 [21067FC9]{designide270.bpl} ToolUtils.ForEach (Line 100, "ToolUtils.pas" + 5) + $F [203737C9]{dbkdebugide270.bpl} Debug.TDebugger.NotifyProcessStateChanged (Line 11417, "Debug.pas" + 27) + $22 [20375E09]{dbkdebugide270.bpl} Debug.TDebugger.ProcessDestroyedCallback (Line 12098, "Debug.pas" + 4) + $11 [2036FEAE]{dbkdebugide270.bpl} Debug.TProcess.SetProcessState (Line 9739, "Debug.pas" + 4) + $A [2036E7C5]{dbkdebugide270.bpl} Debug.TProcess.ntfyProcGone (Line 8975, "Debug.pas" + 6) + $4 [2036E856]{dbkdebugide270.bpl} Debug.TProcess.ntfyThreadGone (Line 9007, "Debug.pas" + 20) + $2 [302D669D]{bordbk270N.dll} Unknown function at @isDbkLoggingOn$qv + $2B825 [302E48E2]{bordbk270N.dll} Unknown function at POSTEDHOOKPROC + $3A6E [302E490F]{bordbk270N.dll} Unknown function at POSTEDHOOKPROC + $3A9B [302E48E2]{bordbk270N.dll} Unknown function at POSTEDHOOKPROC + $3A6E [302E490F]{bordbk270N.dll} Unknown function at POSTEDHOOKPROC + $3A9B [302E5017]{bordbk270N.dll} Unknown function at POSTEDHOOKPROC + $41A3 [302E4FAB]{bordbk270N.dll} Unknown function at POSTEDHOOKPROC + $4137 [302DFCB3]{bordbk270N.dll} Unknown function at @isDbkLoggingOn$qv + $34E3B [302B23A6]{bordbk270N.dll} Unknown function at @isDbkLoggingOn$qv + $752E [302DF5DD]{bordbk270N.dll} Unknown function at @isDbkLoggingOn$qv + $34765 [302CC670]{bordbk270N.dll} Unknown function at @isDbkLoggingOn$qv + $217F8 [302CC657]{bordbk270N.dll} Unknown function at @isDbkLoggingOn$qv + $217DF [302B86A5]{bordbk270N.dll} Unknown function at @isDbkLoggingOn$qv + $D82D [302E8082]{bordbk270N.dll} Unknown function at POSTEDHOOKPROC + $720E [50CFBDBA]{vcl270.bpl } Vcl.Controls.TWinControl.DefaultHandler (Line 10464, "Vcl.Controls.pas" + 30) + $19 [302AEDA6]{bordbk270N.dll} Unknown function at @isDbkLoggingOn$qv + $3F2E [302CBCFB]{bordbk270N.dll} Unknown function at @isDbkLoggingOn$qv + $20E83 [302CBF95]{bordbk270N.dll} Unknown function at @isDbkLoggingOn$qv + $2111D [302CD831]{bordbk270N.dll} Unknown function at @isDbkLoggingOn$qv + $229B9 [302AEDA6]{bordbk270N.dll} Unknown function at @isDbkLoggingOn$qv + $3F2E [302CD177]{bordbk270N.dll} Unknown function at @isDbkLoggingOn$qv + $222FF [50CFBDBA]{vcl270.bpl } Vcl.Controls.TWinControl.DefaultHandler (Line 10464, "Vcl.Controls.pas" + 30) + $19 [50CF6DC6]{vcl270.bpl } Vcl.Controls.TControl.WndProc (Line 7480, "Vcl.Controls.pas" + 91) + $6 [50064541]{rtl270.bpl } System.@FinalizeArray (Line 32995, "System.pas" + 24) + $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 [50CFBDBA]{vcl270.bpl } Vcl.Controls.TWinControl.DefaultHandler (Line 10464, "Vcl.Controls.pas" + 30) + $19 [50CF76DA]{vcl270.bpl } Vcl.Controls.TControl.WMMouseMove (Line 7712, "Vcl.Controls.pas" + 8) + $22 [50CF6DC6]{vcl270.bpl } Vcl.Controls.TControl.WndProc (Line 7480, "Vcl.Controls.pas" + 91) + $6 [50CF6A00]{vcl270.bpl } Vcl.Controls.TControl.Perform (Line 7258, "Vcl.Controls.pas" + 10) + $8 [5006EFFF]{rtl270.bpl } System.Types.TRect.Contains (Line 1675, "System.Types.pas" + 1) + $3 [50CFB2C4]{vcl270.bpl } Vcl.Controls.GetControlAtPos (Line 10143, "Vcl.Controls.pas" + 4) + $13 [50CFB3EE]{vcl270.bpl } Vcl.Controls.TWinControl.ControlAtPos (Line 10166, "Vcl.Controls.pas" + 13) + $E [50CFB471]{vcl270.bpl } Vcl.Controls.TWinControl.IsControlMouseMsg (Line 10184, "Vcl.Controls.pas" + 9) + $2A [50CF3600]{vcl270.bpl } Vcl.Controls.FindDragTarget (Line 5030, "Vcl.Controls.pas" + 6) + $1B [50CFBCAE]{vcl270.bpl } Vcl.Controls.TWinControl.WndProc (Line 10423, "Vcl.Controls.pas" + 168) + $6 [50CFBDBA]{vcl270.bpl } Vcl.Controls.TWinControl.DefaultHandler (Line 10464, "Vcl.Controls.pas" + 30) + $19 [50060AB4]{rtl270.bpl } System.TMonitor.TryEnter (Line 19684, "System.pas" + 10) + $0 [500605D4]{rtl270.bpl } System.TMonitor.Enter (Line 19345, "System.pas" + 4) + $2 [50060440]{rtl270.bpl } System.TMonitor.CheckOwningThread (Line 19259, "System.pas" + 2) + $0 [50060762]{rtl270.bpl } System.TMonitor.Exit (Line 19449, "System.pas" + 1) + $2 [500607BE]{rtl270.bpl } System.TMonitor.Exit (Line 19471, "System.pas" + 2) + $7 [50CD6FA3]{vcl270.bpl } Vcl.Graphics.FreeMemoryContexts (Line 7278, "Vcl.Graphics.pas" + 12) + $8 [50CFB230]{vcl270.bpl } Vcl.Controls.TWinControl.MainWndProc (Line 10120, "Vcl.Controls.pas" + 3) + $6 [50CFB245]{vcl270.bpl } Vcl.Controls.TWinControl.MainWndProc (Line 10123, "Vcl.Controls.pas" + 6) + $0 [50E5A727]{vcl270.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 11004, "Vcl.Forms.pas" + 25) + $1 [50E5A74A]{vcl270.bpl } Vcl.Forms.TApplication.ProcessMessages (Line 11024, "Vcl.Forms.pas" + 1) + $4 [004ABBB7]{bds.exe } AppMain.TAppBuilder.ApplicationActivated (Line 2579, "AppMain.pas" + 0) + $7 [50EBE3B7]{vcl270.bpl } Vcl.AppEvnts.TCustomApplicationEvents.DoActivate (Line 204, "Vcl.AppEvnts.pas" + 1) + $16 [50EBEA19]{vcl270.bpl } Vcl.AppEvnts.TMultiCaster.DoActivate (Line 425, "Vcl.AppEvnts.pas" + 5) + $10 [50E59C1F]{vcl270.bpl } Vcl.Forms.TApplication.WndProc (Line 10591, "Vcl.Forms.pas" + 126) + $C [50181184]{rtl270.bpl } System.Classes.StdWndProc (Line 17989, "System.Classes.pas" + 8) + $0 [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 This error appears on each project I tried. BTW: IDE Layouts don't apply correctly, either they remain at Debug layout mode after it ends debugging (after this error). Creating or opening a project keeps the Layout at <none>. Opening a .dpk (package) project, it remains showing the Welcome Page, I have to manually switch to Default Layout in order to see the package project files to install it. In case it has something to do, I just updated to Windows 10 version 2004 May Update 2020, before installing it I uninstalled Delphi 10.4 and reinstalled after updating Windows 10 (1909 to 2004). Previously installation (first installation), this error was not present. Sorry my bad english.
-
Thank you.
-
I don't really know, but after installing some few components, making a backup of registry shows that it is a big text file, I didn't know it could contain many reg binary entries, specially for cache purposes as its keys (in registry) name suggests. At least, now I know that restoring the registry fixes it, so I won't be reinstalling it completely.
-
I'm here again, with the same issue 😢 Today I started the IDE, after a week not using it, last time I reinstalled was working fine. Now it shows the registration window again. Registry entries seems to have been deleted, I don't know what would have caused that, checking the files in ProgramFiles(x86) and ProgramData reports no changes. I don't know where else files might trigger that behavior. (Emptied Registry Entries) After closing the License Manager, C:\ProgramData\Embarcadero new files are added, .\.cg_license and .licenses\.cg_license Thankfully I had a backup from registry, I just imported and it launched without errors. Notice that in this last installation I haven't installed any IDE plugin/component and no errors were shown as in previous experience, but computer restarted once while IDE was open, but I don't remember a correlation since I started the IDE after the restart.
-
I also noticed, that registry in Windows clears values about Embarcadero HKEY_CURRENT_USER\Software\Embarcadero, ETM FireDac Locales disappears, and BDS is empty. After reinstalling everything is OK, but it is annoying, I will monitor file changes in installation path and programdata in order to find out what is causing this issue.
-
https://quality.embarcadero.com/browse/RSP-27564 I reported that issue, hopefully you can help me to avoid this issue. I'm including constants of large strings as it will be embedded in the executable, each constant has many characters, because they contain compressed javascript libraries, previous Delphi versions didn't have any issue with these, maybe is because of the recent changes to the variable declaration, I'm not sure, but this one just hangs and closes without any warning. Here I include a demo that crashes after opening it. CrashIDE.zip
-
Delphi Rio 10.3.3 crashes on big multiline constants.
vhanla replied to vhanla's topic in Delphi IDE and APIs
Thank you, that would be ideal, though I just wanted to avoid that. So it seems that a registry tweak fixes that. That fixed it. https://quality.embarcadero.com/browse/RSP-22274 -
Delphi Rio 10.3.3 crashes on big multiline constants.
vhanla replied to vhanla's topic in Delphi IDE and APIs
Maybe they reduced the maximum lines for constants in multiline appends, so the current workaround was to reduce them by splitting into another constant, using another text editor of course.