-
Content Count
2992 -
Joined
-
Last visited
-
Days Won
107
Everything posted by dummzeuch
-
automatische Generierung von properties in GExpert
dummzeuch replied to r_amse_s's topic in Delphi IDE and APIs
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 -
Fixed in revision #1149 (I hope)
-
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.
-
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.
-
here you go:
-
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?
-
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.
-
You are also welcome not to use the new IDE toolbar feature of 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.
-
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?
-
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?
-
Code signing certificates have become so expensive...
dummzeuch replied to RaelB's topic in Delphi Third-Party
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? -
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?
-
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.
-
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.
-
Maybe it's a TStaticText? That one has got Bevel-options.
-
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.
-
Uses Clause Manager topic added to the GExperts help
dummzeuch replied to dummzeuch's topic in GExperts
Added the help button. -
Resizing Object Inspector Pane in 12.2p2
dummzeuch replied to Attila Kovacs's topic in Delphi IDE and APIs
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.) -
Resizing Object Inspector Pane in 12.2p2
dummzeuch replied to Attila Kovacs's topic in Delphi IDE and APIs
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? -
Resizing Object Inspector Pane in 12.2p2
dummzeuch replied to Attila Kovacs's topic in Delphi IDE and APIs
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. -
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.
-
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.
-
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/
-
Generic from the RTL for sorted list of objects
dummzeuch posted a topic in RTL and Delphi Object Pascal
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.)