10.4 IDE Cuts Off Component Toolbar - delphi

I downloaded latest Delphi IDE (10.4) and installed it. I turned off the embedded designer and set the layout to Classic Undocked.
Now the toolbar, in fact everything in the top form, is cut off. Can't see the save icons, run button or anything else. Also can't expand the form to make it taller.
If I change to startup layout it will let me expand the form, but I prefer Classic Undocked. Has anyone else had this yet and, more importantly, does anyone know a workaround?

I stumbled on a workaround for this problem. Here are the steps that makes the entire tool panel visible for me in Classic Undocked mode for Delphi 10.4 Sydney (on Win 7):
Grab the right edge of the top form (Classic Toolbar) and resize it slightly (make sure it is in Resizeable mode, not Full Screen). Zap! now everything works. Not only that, it appears to remember the "lesson" permanently once this has been done once - it is a complete and permanent fix.
This bug should be trivial for Embarcadero to fix.

Related

WebView2 (TEdgeBrowser) not working in background (if not visible on screen) - only shows as grey rectangle

I've confirmed this issue using the standard Delphi 10.4 EdgeBrowser VCL demo with the only difference that I have put the panel with the edgebrowser component on a TPageControl Tabsheet.
Now if my app starts with the Edgebrowser not visible directly on screen (because another tabsheet is active), the Edgebrowser will never fully paint on screen at any later date. It will ever only present itself as a grey rectangle and cannot recover from that, unless I call EdgeBrowser.CloseWebView; EdgeBrowser.CreateWebView; while the Edgebrowser component is visible on screen (it must be visible, or once again nothing happens).
This means I cannot issue "Edgebrowser.Navigate" commands or to anything while the Edgebrowser is in the background, on another tabsheet or while the form is hidden, or it will "go grey" again.
I wonder: Is this a bug or am I missing something major here? I tried calling Edgebrowser.Refresh and Edgebrowser.Repaint but neither help. Once it's grey, only closing and re-creating WebView helps to recover it.
It seems clear to me that this is some kind of canvas issue but I have no clue where to go from here.
I hope you can help or at least confirm this strange behaviour.
System Specs:
Delphi 10.4 Update 1 in Windows 10 Pro 20H2 in VMware Workstation 16
microsoft.web.webview2.0.9.579 from nuget and latest Edge Runtime from here (installed with bootstrap installer)
To quickly recreate the same scenario on your system:
open "C:\Users\Public\Documents\Embarcadero\Studio\21.0\Samples\Object Pascal\VCL\WebBrowser\Edge\EdgeBrowser.dproj"; cut pnlWebViewHost to the clipboard (this is the panel that contains the Edgebrowser component); insert TPageControl; add 2 tabsheets and paste the pnlWebViewHost on one of them. Switch to the other, empty tabsheet, then run the app. At runtime, click on the tabsheet with the browser which should only appear now as a grey rectangle.

Firemonkey with Memo Classes and Landscape orientation for Android

There are many demonstration units provided by both Embarcadero and other third parties for auto-scrolling on showing the Android virtual keyboard.
However non work correctly when working in landscape mode. Even if you manage to get the top of the memo visible, changing line will render the control out of sight, or you try and stay with the caret position and find the offset is wrong, manually correcting this causes issues with different resolutions.
Is there any article / component / code example, that anyone has seen, which solves this problem. I would opine that something so simple should be already resolved in the examples with RAD Studio, but alas it is not.
I am using native controls but am more than happy to switch back to Firemonkey styled controls if required.
Thank you in advance.

Delphi - how to customize IDE layout

Delphi 2010 - all patches, Win 8.1 64 bit. Reinstalled EVERYTHING... windows,etc, so functionally a new machine. Installed D2010, then installed GExperts and CnPack Wizards, as I had used them both before a really liked them.
I have 2 monitors, so I changed my layout to Classic Undocked. The default is to have the component palette at the top right of the Delphi main window.
In my previous release, I was able to change the HEIGHT of this window to double whatever it is now, and drag the palette UNDERNEATH the glyphs from the File / Edit / Search area, so that way my component palette went across the whole screen. For whatever reason, I cannot do this now. When I move my mouse to the BOTTOM of the delphi window area, I get the "expand window up and down" cursor, like I should, but the window refuses to increase in height. There is some setting preventing me from increasing this windows height, but I can't find it. What setting am I looking for in order to be able to increase the height, so I can drag/drop my palette to the bottom LEFT corner of this window?
Thanks
The size of the main undocked window cannot be modified by resizing it manually. It is sized so that it is exactly large enough to contain its children. So, you can do what you want by moving the component palette to the desired location. When you do so the main window will increase in size so that the component palette fits.
Judging by your screenshot, your toolbars are drawn in a way to indicate that they are locked and cannot be dragged. That's not functionality that is present in the plain vanilla Delphi IDE, so I suspect that you have used functionality from either GExperts or CnPack to lock your toolbars. Obviously you'll need to unlock them in order to move them.
Finally, I should point out that the inability to resize the main window vertically is not new. Classic Delphi versions (e.g. Delphi 7) behaved in exactly the same way. So I think that the fundamental issue is not related to a Delphi version upgrade, but rather is related to you having locked your toolbars.

Delphi D2010 Component Palette icons all wrong

I have just built a new system. (Win 8.1, 64 bit, D2010). Install went fine... adding some various VCLs. For some reason, in the Delphi Component Palette, all component glyphs PAST the 'Gestures' palette are all defaulting to the 'generic' icon. The first 13 tabsheets use proper icons. The remaining 30 or so tabsheets use the generic 'Blue box, red triangle, gold circle' image.
Delphi compiles my apps fine. For some reason the GLYPHs are just messed up. I have exited Delphi, restarted, even rebooted the machine. It was initially working fine, but then it messed up. So what did I do? I installed a few components, which I have installed before... I added some help files to the Windows help system for one of the components. I added some directories to the Delphi Path, and added a new BPL file for some of the components, and I went into the Tool/Options/Component Tool Bar and moved one component from a page by itself to another page. This left an empty page/tabsheet, so I deleted it. Thinking this might be the problem, I went back in and clicked on 'Reset to Default'. It did reset the one component back to a page by itself. Restarted Delphi... same issue.
UPDATED INFO***: Some Embarcadero supplied pages show fine, others show 'Unknown/Default' Glyph. For example, the first 13 pages are good, then are 10 or so pages bad, then SAMPLES, INTERNET, and few others are good. Pages that are bad include INDY (the whole set) and IW (the whole set). All my TMS stuff is good (which I installed). Some of the JVCL pages are good, some are bad. Interestingly, one page, Jv Edits, is half bad, then the rest of the page is good.
I don't know why, but when I switched back and forth to different IDE Layouts (Default Layout, Classic Undocked, etc) a few times, the palette glyphs got reloaded, and now everything looks as it should.

TButtons and "runtime themes": peculiar behavior

Have you seen this?
I have a little utility application (for easy load / test xml generation from CDS and/or DBGo), and I had put some buttons (the poorest button of all, TButton) to trigger some actions.
I never paid attention to appearance, because I'm the only one that uses it. So today I added a new button, and they appeared different from the others in designer - but not when running. It's just an copy and paste process (change the button name, caption and event - the rest is equal to the origin).
When I looked the other buttons have an grey gradient and round corners, the button I copied and pasted not (just a bare rectangle). When running all buttons where just bare rectangles.
So I discovered that on designer, W7 and delphi are applying themes. On running, they are obeying the Project/Options/Application/Enable runtime themes flag.
This is annoying. There's a way to make Delphi doing that obeying the project options flag on forms designer?
(Or even manually if is not possible to automate that)?
EDIT:
The toolbars on the form are from CNWizards ;-)
EDIT II:
Apart of disabling themes for the IDE executable, all buttons get themed equally if the form (or project) is reloaded. But it's really weird.
If you want to enable/disable themes in the IDE, then open the properties of bds.exe, select the 'Compatibility' tab, and make sure that the 'Disable visual themes' checkbox is unchecked/checked.
Programs that you run from the IDE will inherit the compatibility settings of the IDE.
Delphi IDE itself is an application and the way the designer draw the form is using the setting for the IDE application (delphi32.exe or bds.exe's compatibility settings) so the answer is no. The default behaviour is different between IDE versions, for eg. the opposite behaviour (not drawing themed) happened in past.

Resources