Jump to content

Микола Петрівський

Members
  • Content Count

    68
  • Joined

  • Last visited

Posts posted by Микола Петрівський


  1. Even if it was fixed, what next? Options dialog? About dialog? There are limits for customization in any program. There is a feature, meant to solve exactly your issue - UI elements being to small, but you do not want to use it. Instead you are trying to use a feature, that is not meant to solve such issues and even not officially supported. And it does not produce the result, you want. So who is guilty in such situation? RAD Studio developers? Really?


  2. 11 hours ago, PeterPanettone said:

     

    This is not a topic about system settings but about the GUI font size in the Delphi IDE. Please read my original topic and keep a professional level.

    One of the biggest features of Delphi 11 is HiDPI support. Once you set Windows to 125% scaling, IDE will use that as well. Fonts, icons, buttons - everything will be 25% bigger.


  3. 15 hours ago, PeterPanettone said:

    Computer\HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\22.0\Theme

     

    Changed it from 9 to 12. The IDE GUI now looks much better! This setting should be in the IDE OPTIONS!

     

    Embarcadero talks a lot about optimizing the size of icons in applications built by developers. But they still use ridiculously small stone-age toolbar icons on their IDE Toolbar! Why the IDE does not allow to change the size of the toolbar icons? Are we still in the stone age?

    And what next, button sizes? You definitely should try to set windows to 125% or 150% scaling and run it that way a few days. It will free you from the need to manually set fonts and icon sizes in each and every app, that you use.


  4. 21 hours ago, PeterPanettone said:

    As you can see from the screenshot, I have Windows 7.

    Yep, with 125% scaling. Windows 7 with 125% scaling automatically enables so called "XP scaling". This means, that OS ignores app manifest, and forces it to scale itself. But RAD Studio manifest does not declare support for scaling, so Studio tries to do whatever it can, even while it does not support this. So you see such results.


  5. 16 minutes ago, PeterPanettone said:

     

    image.png.146fdfeaa0dd6dd689bc547413c0d529.png

     

    This is not a per-monitor setting but a GENERAL Windows setting. There is NO LOGICAL UI INDICATION which binds this to a single monitor. Windows Text elements are always zoomed by this value, regardless of whether they are displayed on one or the other monitor.

    Only in Windows 7/8 and older. Since Windows 8.1 you can set different scaling for different screens.

    • Like 1

  6. 11 hours ago, Georgge Bakh said:

    With these requirements the solution may be something like:

    
        Validator
        .Check(value <> nil,  'Value is nil!')
        .Check(str <> '',     'String is empty!')
        .Check(Value.Num > 0, 'Value.Number <= 0!');

    Check() receives a boolean to check and string message to complain.

    If boolean is true returns Self. If false - other instance whose Check() method just returns Self on any input.

    It is almost the same as

    Assert(value <> nil,  'Value is nil!');
    Assert(str <> '',     'String is empty!');
    Assert(Value.Num > 0, 'Value.Number <= 0!');

     


  7. 35 minutes ago, Uwe Raabe said:

    What about a TClientDataSet connected to a TDBGrid or TDBCtrlGrid?

    This is, probably, the simplest possible solution, if you limit yourself to "out of the box" solutions. By the way, TClientDataSet can be replaced with TFDMemTable.


  8. We had similar problem, except, that we wanted to know, when app finishes processing any long task, and is ready to accept new input. And we wasn't allowed to change the code of the app. Our first attempt was to use SetWindowsHookEx in WH_FOREGROUNDIDLE mode. That was working in most cases, but sometimes we had situations, when the last message in the message queue is actually the one, that causes processing of long task, so our hook was triggering at the beginning of the processing, not the end. Also, this hook will hang until some message will get in to message queue, so some sort of wake up message is required. Finally we decided, that since target app uses runtime packages, we can call VCL for help. Now our test app is using windows hooks only to inject our code (dll compiled with runtime packages) in to target process. Then we create event handler for Application.OnIdle. This approach is much more reliable, something like 95%.

    If you can change the code of target app, then it will the best approach.

     

    P.S. You could avoid all of that, if VCL supported UI Automation


  9. On 8/4/2019 at 1:27 PM, ertank said:

    I finally got a regular HDD (spin drive) and when using it compilation works. It also gives errors like above, but so rare that you can ignore them.

     

    All SMART checks on all drives are good. Now, I wonder if it is Windows 10 thing appeared with its latest update or something. I still cannot find a reason why creating files on disk fails or why it cannot find existing files.

     

    Try to toggle compiler cache on and off: http://docwiki.embarcadero.com/RADStudio/Rio/en/Compiling_and_Running


  10. On 7/26/2019 at 5:26 AM, Mike Torrettinni said:

    I'm trying to resolve unit dependencies, cycling. I have a global unit where in some cases I need to reference Form Control - so I need the Form units used in uses:

     

    TranslatorUnit - custom translation unit that translates all forms, controls, message...

     

    ...

     

    I know I can loop Forms in Application and refer them by 'MainForm' name and same for Controls, I can refer to them by name like FindComponent('CustomButton'), but I don't like it since it doesn't validate names, like compiler does when I refer to them as objects.

     

    Is there any way I can refer to Forms and  Form Controls without using the units in uses, but will still give me some way to verify I don't misspell the names or when I change a name that translation will still work as needed?

     

    Any suggestion how to solve this?

    You of course know, that you can break some cycles by moving parts of uses to implementation section, right?


  11. 15 hours ago, Erix A. said:

    I also deleted and re-added my serial but still cannot get osx64 to compile :(

    Works fine for osx32, but for osx64 it just prompts to add SDK, After I press OK (with Command Line Tools) nothing happens. All I get is [Error] and Failed in the log.

    Try to install Xcode on your Mac.

     

    5 hours ago, Tommi Prami said:

    Yo,

     

    Does anyone have 10.3.1 and 10.3.2 available?  Would be cool to see some diff and/or analysis of RTL and/or VCL changes between the two,

     

    -Tee-

    I think, reading the log will be much easier: http://docwiki.embarcadero.com/RADStudio/Rio/en/New_features_and_customer_reported_issues_fixed_in_RAD_Studio_10.3.2


  12. Maybe, you should try

    Bind(srcViewModel.Container,'DataSource',dstDBGrid,'DataSource')

    ?

    But in general, this looks suspicious to me. Usually LiveBindings are used to replace data-aware controls, and you are trying to mix them. What do you want to achieve?

×