Jump to content

dummzeuch

Members
  • Content Count

    2992
  • Joined

  • Last visited

  • Days Won

    107

Everything posted by dummzeuch

  1. I am not aware of such a functionality in GExperts (but it might be in MMX or in cnpack). But I have a keyboard macro for that purpose, which I use like this: declare the fields copy the field declaration to the public (or published) section of the class put the cursor at the beginning of the first field execute the macro execute the macro again until all fields have been converted to properties The macro is a recording of key strokes that changes the field declaration to a property declaration and at the end moves the cursor to the at the beginning of the next field declaration. See attached file. You can load it in the Keyboard Macro Manager. ReadWriteproperty.gxm
  2. dummzeuch

    Automatically show the Quick Edit dialog?

    Fixed in revision #1149 (I hope)
  3. dummzeuch

    Automatically show the Quick Edit dialog?

    It is yet another bloody per monitor scaling issue and depends on how the monitor(s) is/are configured: It does not occur if there is one monitor with scaling set to 100, even if another monitor is set to scaling > 100. It also does not occur over Remote Desktop (at least not in my tests). Since I have got a High DPI monitor and a HD monitor, it does not happen on my system. I had to turn off the HD monitor to reproduce the problem.
  4. dummzeuch

    Automatically show the Quick Edit dialog?

    I don't. But I suggest using the _build_project.cmd script in the sub-directory under Projects matching the Delphi version. But even when using the IDE the DPI settings should not make a difference unless you open all the forms and safe them again. No comment, I don't want to get rude.
  5. dummzeuch

    Automatically show the Quick Edit dialog?

    here you go:
  6. dummzeuch

    Automatically show the Quick Edit dialog?

    As far as I am aware this dialog should work with multiple additional properties. Which version of Delphi and GExperts are we talking about? And if a HighDPI aware IDE is involved: What is your monitor setup?
  7. dummzeuch

    Automatically show the Quick Edit dialog?

    No. But you could instead have it automatically open the Rename Component expert dialog, which can be configured to give you most of these options (not the color though, which is pretty much useless without also setting the StyleElements property). For the Text property edit to be shown, you need to add Text to the Additional Properties in the Expert's configuration dialog.
  8. dummzeuch

    Delphi 12.2 Toolbars strange behavior

    You are also welcome not to use the new IDE toolbar feature of GExperts. 😉
  9. dummzeuch

    Added IDE Toolbar Expert to GExperts

    Some Delphi IDE versions have an annoying bug with the toolbars that makes them unusable if you customize them. If you have seen this problem, you know it, if not, congratulations! Unfortunately I am one of the people who experience this problem and it annoyed me so much, that I added a workaround to GExperts. ... read on in the blog post.
  10. On the Align toolbar there is a button called "Size to grid". According to the help it "Changes the position and the size of the selected control so that every edge is aligned with its closest line of the design grid." But clicking on it with a control selected that is not a multiple of the grid wide nothing seems to happen. I would have expected it to make the width and height of the control a multiple of the grid size. In contrast, the button called "Align to grid" does both, it moves the button so that all edges are aligned to the grid, so it not only moves the button but also sizes it. This is what according to the description "Size to grid" is supposed to do. So, does "Size to grid" do anything at all? Is this maybe just a problem with my Delphi installation?
  11. dummzeuch

    Delphi 12.2 Toolbars strange behavior

    Hm, that just got me thinking: GExperts has this Editor Toolbar which can be freely configured, using any actions registered in the IDE. This works fine, even in Delphi 11 and 12 where the built in toolbars are broken. Since Embarcadero seems unable to fix their bl***y toolbars, a plugin could just insert a panel at some convenient place - maybe just below the main menu? - and make it a toolbar. Any takers? OK, no takers. What about testers?
  12. That you can't extract the certificate does not mean that you cannot write a new one to the token. Otherwise, how would they create those tokens with a certificate?
  13. dummzeuch

    Delphi 12.2 Toolbars strange behavior

    Hm, that just got me thinking: GExperts has this Editor Toolbar which can be freely configured, using any actions registered in the IDE. This works fine, even in Delphi 11 and 12 where the built in toolbars are broken. Since Embarcadero seems unable to fix their bl***y toolbars, a plugin could just insert a panel at some convenient place - maybe just below the main menu? - and make it a toolbar. Any takers?
  14. dummzeuch

    Naming abbreviations for controls

    GExperts has a Rename Component expert which has two different presets for many component types. No idea where the preset "defaults" comes from, the second one is called "twm" and you can probably guess whose initials these are. (The presets are not covered in the help yet.) I think, cnPack also has a similar functionality but I don't know anything about it.
  15. dummzeuch

    Refactor rename field fails always

    But MMX works differently. It does not really analyze the code but replaces all matching strings within a given scope (e.g. a procedure) rather than identifiers. That's why it can optionally even replace identifiers mentioned in comments. But it can also replace strings that are not the intended identifier.
  16. dummzeuch

    Looking for a certain component

    Maybe it's a TStaticText? That one has got Bevel-options.
  17. They say that documentation is the worst part of programming and I mostly agree with that. Nevertheless I have taken the time to add a page about the Uses Clause Manager expert to the GExperts help because that topic was completely missing. I hope I covered all the topics. There is no help button on the form yet. I’ll look into that later. There is also an updated chm file as well as a printable manual in PDF format.
  18. dummzeuch

    Uses Clause Manager topic added to the GExperts help

    Added the help button.
  19. dummzeuch

    Resizing Object Inspector Pane in 12.2p2

    Since it works for me and doesn't work for you, this obviously is not a global issue but somehow related to your setup. Maybe you could start by comparing your setups: number of monitors monitor resolution(s) scaling is the IDE on the primary or secondary monitor Did you try different combinations? I have got: 2 Monitors: 3840x2160 scaled to 125% left of primary monitor (-> x coordinates are negative) top above top of primary monitor (-> y coordinates are positive and negative) 1920x1200 not scaled, primary monitor I don't have this effect, regardless on which monitor I put the IDE. (I have lots of other problems with the IDE though. Monitors with different resolutions and scaling are apparently not used by the Embarcadero developers.)
  20. dummzeuch

    Resizing Object Inspector Pane in 12.2p2

    Are we talking about a docked object inspector Window then? I was assuming undocked because you didn't mention other windows docked at the same place. Hm ... testing ... there is a sensible width constraint, but again, rather narrow. What do you actually mean by "narrow"? How many pixels? And is this a scaled monitor?
  21. dummzeuch

    Resizing Object Inspector Pane in 12.2p2

    I wouldn't dare calling you dumb, but I don't have that problem on my installation. I can narrow the object inspector window so much, it becomes unusable. It's probably a difference in hard- or software or different settings.
  22. dummzeuch

    for loop variable value after the loop

    I just came across this code: var I: Integer; begin for I := 0 to Collection.Count - 1 do if TListColumn(Collection.Items[I]).WidthType <= ColumnTextWidth then Break; Changed(I <> Collection.Count); WriteCols; end; Is it just me or does anybody else think this is wrong? Or is the value of a for loop variable after a loop explicitly defined nowadays? I always thought that's compiler dependent and should not be relied on.
  23. dummzeuch

    for loop variable value after the loop

    A for loop is not a while loop with inc. the compiler might create code that counts down to zero rather than up, if the variable is not used inside the loop. Edit: Or it might even completely unroll the loop doing away with the variable altogether. But it does not matter: Relying on an undocumented implementation detail is a bad idea, regardless of whether it works or not. The next compiler version or a different compiler e.g. for a different platform might change that detail.
  24. dummzeuch

    How do you shut off the Welcome Page?

    You could remove the corresponding package WelcomePageIDEXxx.bpl and its associated plugins from the IDE's list of Known IDE Packages. Somebody 😉 even wrote a tool for this: https://blog.dummzeuch.de/knownidepackagesmanager-tool/
  25. I'm still kind of new to using generics but I try to start using them where previously I would have created a pseudo template. I need to store some objects and access them giving a string key. I thought that a TObjectDictionary<string, TMyClass> would be the solution for this, but it turns out that it does not allow duplicates, but I need that. Later on I want to get the first matching entry and enumerate all of them. What would be the best generic container for allowing duplicates in this case, if there is any? Some kind of sorted object list? (I'm asking for generics that are part of the RTL, please don't point me to any 3rd party implementations.)
×