Jump to content

Achim Kalwa

Members
  • Content Count

    63
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Achim Kalwa


  1. 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

     


  2. On 11/21/2023 at 6:00 PM, Stefan Glienke said:

    PSA: Looks like that integer division is broken in 12 due to implementing this feature request.

     

    There are at least two reports already about this:

    https://quality.embarcadero.com/browse/RSP-43274

    https://quality.embarcadero.com/browse/RSP-43418

     

    Personally, I would say this absolute "need a hotfix asap" severity.

    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.

     


  3. 15 hours ago, Ian Branch said:

    ..\..\images\GXIcons.rc : error : Error Could not open input file D:\GExperts\Projects\DelphiXx120\My.RC [D:\GExperts\Projects\DelphiXx120\GExpertsRS120.dproj]

    Done Building Project "D:\GExperts\Projects\DelphiXx120\GExpertsRS120.dproj" (rebuild target(s)) -- FAILED.

    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.


  4. 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?

     


  5. Hi,

    Quote

    how do I get the *column* number when I right-click on a column

    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

    • Thanks 1

  6. 1 hour ago, EugeneK said:

    in runtime it shows it as blue, but in design time in has default color, how to fix it? 

    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.

    Form Designer Options.png

    • Thanks 1

  7. Hello alogrep,

     

    let me answer your 2nd question first:

    Quote
    2. Do I need to UNINSTALL the old version, or is it better to NOT uninstall it?
    From the windows for the installation I get contradictory suggestions: it first says "you need to uninstall", but then the  NO radio button is checked by default

    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:

    Quote

    1. if I upgrade from, in this case, 11.2 to 11.3, after upgrading do I need to re-install all 3rd party products and my own packages?

    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

     

    • Like 1

  8. On 12/16/2022 at 10:41 PM, Uwe Raabe said:

    It has been for a long time that selected beta testers (like f.i. all MVPs and Tech Partners) are invited early to a beta cycle, while users with an active (normal) Update Subscription are invited at a later stage (so they actually are already open to any willing subscriber). Now it seems that having a Premium Update Subscription puts you into the first group, too. Does not look like a big change to the previous system to me. May be they want to put more value into the Premium part, which isn't a bad thing. Nothing is taken away from anyone.

    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.

    • Like 1

  9. If you want to see the TextHint even if the TEdit control has the focus, you need to send EM_SETCUEABANNER to the control:

    https://learn.microsoft.com/en-us/windows/win32/controls/em-setcuebanner

    like this:

    uses
      ...
      WinApi.CommCtrl,
      ...
    
    procedure TForm1.FormShow(Sender: TObject);
    begin
      SendTextMessage(Edit1.Handle, EM_SETCUEBANNER, WParam(True), 'please type here');
    end;

    WParam(True): if the cue banner (text hint) should show even when the edit control has focus.

    Be aware that VCL controls sometimes gets recreated, resulting in a new handle value and losing previous settings.

    A better way would be to inherit from TEdit and overwrite the protected DoSetTextHint() method like this:

    Interface
    
    uses
      ...
      WinApi.CommCtrl,
      Vcl.Themes, ...;
    
    type
      TMyEdit = class(TEdit)
      protected
        procedure DoSetTextHint(const Value: string); override;
      end;
      TEdit = class(TMyEdit);
      ...
    
    Implementation
    
    procedure TMyEdit.DoSetTextHint(const Value: string);
    begin
      if CheckWin32Version(6, 1) // Windows 7 and up
      and StyleServices(Self).Enabled 
      and HandleAllocated
      then
        SendTextMessage(Handle, EM_SETCUEBANNER, WPARAM(True), Value)
      else
        inherited;
    end;

    HTH

    • Like 1

  10. Hello *,

     

    It is a nightmare to install Delphi patches because I have to use two different Windows user accounts; one for installing software, the other one for normal work. And because the patches are remembered in the user's registry during installation, they always end up in the wrong user registry path. 

     

    Now I'm going to install Delphi 11.1 on a new machine. Is there an installer which already containes the patches and hotfixes since the 11.1 release?

     

    On my.embarcadero.com I can download

    • "RAD Studio, Delphi, C++ Builder 11.1 Web Install";
      filename: RADStudio_11_1_esd_10_8973.exe (2022-03-15)
    • "RAD Studio 11.1 patch 1" (2022-04-27)
    • "Windows 11 Win32 Debugging Patch for RAD Studio 11.1" (2022-05-27)

    But there is also a

    • "RAD Studio, C++Builder 11.1.5 Web Install";
      filename RADStudio_11_1_5_esd_10253.exe (2022-07-14), but without "Delphi" in the title.

     

    Maybe this sounds like a stupid question because "Delphi" is not mentioned: Can I use this for installing Delphi 11.1 and all patches until July 2022? Usually the installer knows what to download by my license key.

     

    TIA

    Achim

     

     

     


  11. On 7/22/2022 at 11:41 AM, dummzeuch said:

    That's odd, because that assertion is in a destructor that is usually only called when exiting the IDE, not when starting it.

    The problem on exiting the IDE has already been reported several times. 

    When the installer is running ("RAD Studio Platform Selection"), there is no "installer" process, just bds.exe. So it *is* the IDE but in a special download mode. When all is installed and "Start working" is clicked, the bds.exe is terminated and a new instance of bds.exe is started. That is the time when the error message appears. I already detected that the old instance is killed using Windows API "ExitProcess"; and my guess is that this will not unload the GExperts dll nicely.

    bds.exe.png

    TaskManager bds_exe.png

    • Thanks 1

  12. 11 minutes ago, Uwe Raabe said:

    You can configure a different wallpaper per theme, so when switching the theme the wallpaper changes, too.

     

    That said, to get rid of the default wallpaper, go to Tools -> Options -> Welcome Page, select your current theme and click Delete.

    Thanks. Clearing the "light" theme did help. But I can't use a custom theme. I can load a custom image, but the IDE always stays on "light" theme.


  13. On 1/31/2022 at 6:36 AM, Dave Nottage said:

    This answer has served me well for some time now:

      https://stackoverflow.com/a/13835244/3164070

     

    however it does not work for when a user drags an attachment from Outlook (it works when dragging the entire email). Does anyone know if an object of a different name is created, or perhaps some other "event" occurs? 

    Have a look at this plugin for Outlook which enables drag & drop of any item to applications:

     

    https://github.com/tonyfederer/OutlookFileDrag

     

    Maybe you find out how it works and port the code to Delphi. If you succeed, please make your solution open source, because I would like to implement it to our application, too 😉 Currently we rely on this plugin.

     


  14. 1 hour ago, dummzeuch said:

    Is there a way to add OldCreateOrder=False back to the dfms when the form is being saved? Simliar to removing the also annoying ExplicitXxx entries? 

    After reading your post, my first idea was to extend the GX_ExplicitFilterExpert to patch the TCustomForm.DefineProperties() method the same way as for TControl, then adding a WriteProperty('OldCreateOrder', True). But when TCustomFormFixOldCreateOrder calls "inherited DefineProperties", the code recursively calls itself, resulting in a stack overflow.

    So, I don't have any good idea to solve this problem 😞

     

    • Thanks 1

  15. 5 hours ago, hsvandrew said:

    Is there an option (or plugin) to get class completion to work in a way where all new procedures & functions will appear at the bottom of the unit or in the same order as its declared, rather than in some kind of alpha sorted location?

    Yes, there is "DDevExtension" by Andreas Hausladen. That IDE plugin has an option to disable the alpha-sort class completion (and much more valuable stuff):

     

    DDevExtensions_Options.thumb.png.874bb7dd509bb46f50ed432f4b02055b.png

     

    For Delphi 2009...10.4.2 you can download this plugin form Andreas' blog:

    https://www.idefixpack.de/

     

    For Delphi 11 there is a fork on Github:

    https://github.com/DelphiPraxis/DDevExtensions/releases

     

    • Thanks 1

  16. 1 hour ago, Henry Olive said:
    
    Uses System.StrUtils;		
    var		
      S, FirstStr, SecStr : String,		
    begin		
      S := SqlQuery1.FieldByName ('RANGE').asString; // it is '5/10'		
      FirstStr := SplitString(S, '/')[0];		
      SecStr  := SplitString(S, '/')[1];		
    end;		

    Above code works in Delphi-XE w/o any problem but

    i get   Not enough actual parameters err.msg in  Delphi 10.3

    What is wrong ?

    In line #3 the list of variables must me terminated by a semicolon, not by a comma. Beside that your code works as expected (Delphi 11.0).

    And because you did not tell in which line the error occours I can only wild guess that there is some other "SplitString" function in reach with uses different parameters.

    Where do you land when doing a Ctrl+Click on "SplitString"?


  17. Embarcadero has fixed the menu font color problem in V11 update 2.

    I really would like to know why Microsoft discarded the well-looking menu colors from Windows 10 and now uses the Windows-2000-colors for menus. And the selection bar height is 2 pixel too small on Windows 11, which makes font decenders difficult to see.

    At least Microsoft has "fixed" the bar height on recent Windows 11 builds.

    • Like 1

  18. 19 hours ago, Edwin Yip said:

    Let's say we have a VCL program with DPI-aware enabled (with xml manifest correctly set, all forms have `Scaled` set to true and working), and the form inheritance is like this:

    TFormC inherits from TFormB which in turn inherits from TFormA, which have some buttons on some panels.

    [...]

    TFormA will be auto scaled for 1 time and it's correct. But TFormB will be wrongly scaled and shifted twice, while TFormC will be scaled and shifted for 3 times.

    Any special alignments of panels and buttons (Bottom, Right)?

    Can you provide a sample project?

×