Jump to content

Achim Kalwa

Members
  • Content Count

    68
  • Joined

  • Last visited

  • Days Won

    2

Achim Kalwa last won the day on August 24 2024

Achim Kalwa had the most liked content!

Community Reputation

65 Excellent

Technical Information

  • Delphi-Version
    Delphi 11 Alexandria

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Achim Kalwa

    I'm on the Dark Side... no, really!

    Yes, the GExperts source code now contains my changes to support the Delphi IDEs Dark Mode. Many thanks to Thomas for his support! https://svn.code.sf.net/p/gexperts/code/trunk (you need to compile it yourself at this time) Don't expect everything to work fine now -- there are still some issues I haven't been able to resolve. But most forms and dialogs now use colors to match the dark theme. The main change is in GX_OtaUtils.pas; GxOtaInitTheming(AForm: TCustomForm). This registers the form in the IDE to follow the currently selected theme (light, dark, gray). This function is available since Delphi 10.2, but only works reasonably well since V11. For this reason GExperts DarkMode is only available from Delphi 11 (see GX_SUPPORTS_THEMING in GX_CondDefine.inc). GxOtaInitTheming() already changes many forms and controls for dark mode, but not all. Custom drawn elements and some components need to be modified to use the correct colors. This is what the new code in GX_IdeUtils.pas is for: GetThemedColor() takes predefined colors like clBtnFace or clWindowText and calls GxOtaGetThemedColor which gets the matching color for the dark theme. Almost all changes have gone into changing SomeComponent.Color := clBtnFace to calling GetThemedColor(clBtnFace). For THotKey a complete new paint code was required (source\Utils\GX_HotkeyDrawFix.pas). Known issues: Some GExperts forms are created on IDE startup. These forms don't change their style when switching the IDE between light and dark mode. The workaround is to quit and restart the IDE after switching the theme. Bitmaps for toolbars/speedbuttons are only available in 16 px; upscaling to DPI (e.g. 120 dpi = 20 px) does not look very nice. I've changed some bitmaps for better contrast in dark mode. For best visual display, the whole set of icons must be recreated for a dark background; this will be a lot of work. OpenDialog/SaveDialog called by GExperts are still in light colors; they follow your Windows theme. Menu bars and some controls paint scrollbars in light mode instead of dark; I could not solve this. Feel free to report problems to https://sourceforge.net/p/gexperts/_list/tickets
  2. Achim Kalwa

    Delphi 12.2 available for download

    Must be rocket science to fix that...
  3. Achim Kalwa

    Does GExperts suffer from amnesia?

    The problem is IMHO: SaveSettings() is called only from the Destructor; that is when the IDE is closed. In case of the Code Librarian, the font size and splitter position issues could be solved by calling SaveSettings() during FormHide(), and calling LoadSettings() during FormShow(). Optionally call SaveSettings() when returning from the Configuration dialog.
  4. Achim Kalwa

    I'm on the Dark Side... no, really!

    Since I am affected of eye floaters for some years, I now prefer the dark mode; and I am working on making GExperts look good in that dark mode. Most changes are already done but not published yet. There are so many dialogs/forms that have to be modifies in the one or other way. Stay tuned 😉
  5. Achim Kalwa

    Proj finding wrong VCL

    Same here when compiling GExperts and switch from Debug to Release mode or vice versa. The number in last part "Found version" changes randomly. I've reported this months ago as https://quality.embarcadero.com/browse/RSP-42675 During the webinar "What's coming in RAD Studio 12.1" in the Q & A session I asked for an update to this bug; and Marco Cantù replied by email: Also make sure that each build configuration uses a separate DCU output folder in the project options, like ".\$(Platform)\$(Config)".
  6. Hello *, our application still uses Firebird 3.0.x with dbExpress for data access. We would like to use Firebird 5.0 in the near future. Some first tests throws an exception "unknown ISC error 0" when executing this simple SQL query: select * from MON$DATABASE Looks like dbExpress can't handle the new "TIMESTAMP WITH TIMEZONE" data type. Is there any switch or parameter to make dbExpress work with Firebird 5? Or do we need to change all the code to use FireDAC? TIA Achim
  7. It is a bug in Delphi 12 (and also Patch 1): https://quality.embarcadero.com/browse/RSP-42675, reported 3 month ago. You need to unload the project and load it again when switching from debug to release or vice versa.
  8. Achim Kalwa

    Delphi 12 is available

    This one is also related to integer division (currency), but I am not sure if its the same cause: https://quality.embarcadero.com/browse/RSP-42753 D12 is currently not usable for me.
  9. Achim Kalwa

    Error on Build of rev 4096 in D12.

    Very strange; none of the source files tries to include a resource file My.RC. Perhaps somewhere in the include path? Do you compile on the command line or from the Delphi IDE? Regarding the missing GExperts_manifest.res: Please try to remove the line {$R 'GExperts_manifest.res' '..\..\Source\GExperts_manifest.rc'} from the end of then GExpertsRS120.dpr file and compile again. I've no idea why the GExperts_manifest.rc is NOT compiled if the $R directive is below the uses list. If I move the $R to the top of the DPR file; just below the {$E dll}, the rc file is compiled into a res file; if compiled from the IDE. I'm going to remove that manifest thing from the D120 source for now until I find a reliable solution.
  10. Achim Kalwa

    Issue with TNumberBox

    I can not confirm with TNumberbox (VCL) ; both Delphi 11.3 and 12.0: Ctrl+A then Delete clear the edit field; and I can type the new value. Which are your values for MinValue and MaxValue? Any non-default property settings?
  11. Achim Kalwa

    StringGrid: how to get the column number via right-click

    Hi, Use the Grid's OnMouseUp event: procedure TForm4.gridMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var ACol, ARow: Integer; begin if Button = TMouseButton.mbRight then begin grid.MouseToCell(X, Y, ACol, ARow); ShowMessage('Col: ' + ACol.ToString); end; end; HTH
  12. Achim Kalwa

    Component color in design time

    It is not your code, it is the IDE's form designer which ignores the color. Please try Tools->Options->User Interface->Form Designer and uncheck the "Enable VCL Styles" option.
  13. Achim Kalwa

    Upgrading from 11.2 to 11.3

    Hello alogrep, let me answer your 2nd question first: This dialog is somewhat misleading IMHO; read carefully. It tells you that the previous version will be uninstalled if you click "uninstall". The Yes/No-selection in the dialog is about removing stored data from the registry. "No" means "keep all settings", which includes library/search path, toolbar configuration, installed packages and much more. Which leads to your 1st question: No. If you decide to keep the registry settings by choosing "no" (see above), all your own and/or 3rd-party components will be availabel in V11.3. This because V11.2 and V11.3 are binary compatible. HTH
  14. Achim Kalwa

    Delphi beta testing a "premium" privilege?

    Don't panic; Uwe is right. I have reliable information that users with normal Update Subscription will also be invited to the beta test, but only a few days/weeks later. Merry Christmas to you all.
×