-
Content Count
2855 -
Joined
-
Last visited
-
Days Won
101
Everything posted by dummzeuch
-
A simple way to create an URL label in Delphi
dummzeuch posted a topic in Tips / Blogs / Tutorials / Videos
An URL label is a TLabel on a form which displays some blue, underlined text which, when clicked with the mouse, opens a web page. This kind of labels is nothing new in Delphi, I remember using them even back in the 1990s, but they always were a pain in the lower back to create: Write the URL into the caption. Set the font color to blue Set the font to underlined Set the cursor to crHandPoint Write an OnClick event handler that opens the desired URL Lots of boring and repetitive work and on top of that a Windows API call which I kept forgetting. This led me to simply not use them. [...] https://blog.dummzeuch.de/2019/04/19/a-simple-way-to-create-an-url-label-in-delphi/ -
I for one am content with not getting any notifications and those topics not showing up in my unread list.
-
A simple way to create an URL label in Delphi
dummzeuch replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
Hm, a TLinkLabel seems to have no FocusControl property and I could find no way to actually set an URL that is different from the caption. (OK, it's in the documentation: It allows HTML code.) But apparently it still does not automatically open the browser but calls the OnLinkClick event, so it solves a completely different problem than my code does. -
A simple way to create an URL label in Delphi
dummzeuch replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
Goes to show that I spend a lot of time working with old Delphi versions. -
Actually, I had a case where FileExists took more time than I wanted it to because I was processing a huge number of files (the record was 70000 files in 8000 folders. It took forever (about 60 seconds) the first time. See my question here: I managed to cut the original time into a quarter by in addition to finding out if the file exists also getting its file age (which FileExists already retrieves and which I needed later on anyway) and caching it myself. Now the time is down to about 10 seconds on the first call which still sometimes feels like eternity. But as you already said: Every additional call just hits the file system cache and is done in no time.
-
Talking about alternative controls: There is also TStringGrid/TDrawGrid + owner drawing. There are various examples on how to add additional controls to the cells. Not sure whether it fits the bill though.
-
I don't remember ever hearing how the name came to be, but since Gerald was the guy who started the tool in the 1990ies, it's likely that he named it after himself. Time to call it TExperts then... (Just kidding)
-
Delphi compiler need to be opensourced
dummzeuch replied to AlekXL's topic in RTL and Delphi Object Pascal
It could be an option to have a (restricted access) repository somewere with the RTL/VCL code where "the community" collects patches for everybody to use. But that poses several questions: Which versions of the RTL/VCL are maintained there? Only ever the latest one? But what about people who are stuck with older versions for whatever reason? What about forward- and backporting fixes if multple RTL/VCL versions are maintained? Who maintains it? This/ese person(s) would be the gate keeper(s) to proposed patches. Who grants / revokes access and on which criteria? Is every Delphi customer allowed access, even if he only ever bought Delphi 1? Or is it restricted to the version(s) he bought? How does he prove that? Even if only the latest RTL/VCL is maintained, what about the .x.y Delphi releases? These are of lately only available to customers with subscription. I think that could be quickly become a nightmare for the maintainer(s), not just the technical issues, but even more the legal issues. -
Design Packages list is not resizable
dummzeuch replied to PeterPanettone's topic in Delphi IDE and APIs
GExperts adds a button which opens an explorer window. You still can't copy the full file name though, just the directory. But adding a read only edit field would be possible too... -
Are you aware that this is neither the embarcadero support forum, nor the quality portal? If you encounter bugs, you should file bug reports in the latter.
-
Design Packages list is not resizable
dummzeuch replied to PeterPanettone's topic in Delphi IDE and APIs
Works for me. It has a minimum size though. Ooops, no, you are right. That's a bug. I even think I reported that one before. -
GetIt Package Manager Item buttons only partially visible
dummzeuch replied to PeterPanettone's topic in Delphi IDE and APIs
Scaling bugs are sometimes hard to track down because they can depend on hardware (number of monitors and their resolution), operating system (Do you test your programs on Windows 7, 8.1 and the various current versions of Windows 10?) and user settings. I have been bitten by these several times and most of my programs only run on Windows XP, 7 and 8.1 (I develop on 8.1). Windows 10 was only recently added to the mix and has caused quite some headaches (The parent company switched to Windows 10 and nobody bothered to check whether our programs are compatible to Windows 10. In contrast they were worried if the measurement hardware's power consumption might overload the new notebook computers. That was never an issue. </rant>). -
Delphi compiler need to be opensourced
dummzeuch replied to AlekXL's topic in RTL and Delphi Object Pascal
Fun fact: There was a prototype Delphi compiler that created JVM code. That was back when the Borland JBuilder still existed (about 20 years ago). -
I have just discovered a bug in TJvCustomAppIniStorage.DeleteSubTreeInt and fixed it. So now I would like to contribute it back to the JVCL. Just so I am sure I understand what I need to do to create a pull request for a bugfix in the JVCL: Create a GitHub account (done) Create a repository on GitHub Clone the existing JVCL repository to a local directory using git Change the parent repository to my repository somehow on the command line Make the change Commit and push it to my repository Somehow (I am not quite sure how yet), create a pull request on that using the github website. And all that so somebody can actually look at it and decide that it is a bug and copy my code to fix it? Is it really that complicated or am I missing something here?
-
That's just the thing: I don't really want to use a pull request, I'd rather send a patch. But I was told by one of the maintainers that he won't accept a patch but only pull requests. So I tried, and after realizing how much work that involves for even a one liner, I will probably no longer bother and phase out or at least reduce the use of the Jedi code at work.
-
Or in other words: In order to create a pull request, you must first become a master of git. It's really annoying that it is that complicated. A pull request basically is a patch, with a comment. Something that would be possible to create with a text editor (at least for the simple cases I am talking about). Today I found lots of issues which I fixed with my local copy of jvcl / jcl years ago. I am sure I filed bug reports including patches back then. Aparently nobody ever looked at them, because they are still there in the current version. Examples: * Missing raise for a ESomeException.Create * missing Create in raise ESomeException(SomeString) I get the impression that "Project Jedi" nowadays is down to a single person or maybe two (I see commits by obones and ahausladen) who are simply swamped with requests. And that's not just Jedi, there is also dxgettext which is unmaintained for all practical purposes (I have been the only contributor for years and that's only because I still have got write access to the repository, which is more of an accident than planned, and I only sometimes make changes to it because that's the tool we use at work). Other projects are obviously unmaintained. My impression is that there may still be many Delphi developers, maybe their number is even raising, but the "Delphi Community" of 20 years ago no longer exists. </rant>
-
Hm, my pull request is still open, but at least it has gotten some comments. JVCL seems rather inactive nowadays. Now, I would like to add another pull request for the same file but an unrelated change. Again I seem to be too stupid to do that. Every time I try it I end up with the existing pull request.
-
Wow, first time using repeat ... until
dummzeuch replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
Actually, since qry.next will be executed at the end of the loop, I think the C style for loop syntax is inconsistent. (For whatever reason I cannot delete the first code section of the quoted text on mobile.) -
Code expert for fixing very simple and obvious syntax errors?
dummzeuch replied to PeterPanettone's topic in Delphi IDE and APIs
There is also the GExperts Convert Strings editor expert. Unfortunately I just realized that it does not cover this excact case. Hm, time for an improvement: Add a suffix in addition to the existing prefix option for each line. Btw: Another solution would be to create a keyboard macro for this case. I would require one Shift+Ctrl+P keypress per line though (still better than repeating the required key sequences for every line). I have attached such a macro in case anybody is interested. It can be imported into the Keyboard Macro Manager. AppendComma.gxm -
Delphi compiler need to be opensourced
dummzeuch replied to AlekXL's topic in RTL and Delphi Object Pascal
So is trying to get the Delphi compiler open sourced. -
Wow, first time using repeat ... until
dummzeuch replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
If you have never used a goto, you have never written complex code. 😉 (I usually prefer Exit over goto, but Exit is also considered evil.) -
I won't disagree here.
-
Not only IT-designers. It's designers <period>. Show me an unusable product and in 90% it will turn out that it was perfectly usable when the engineers finished. And then the designers ruined it. There used to be a credo "form follows function", but today it's "it doesn't matter whether it works, let's make it flashy." </rant>
-
Tool to convert form components to run-time and vice-versa
dummzeuch replied to David Schwartz's topic in VCL
While the Component to code expert works with many controls, it does by no means support every single one. But it's good enough for most use cases. -
I usually just give them the "disabled" color (ParentColor = True). But of course nowadays with Windows 10 that is nearly indistinguishable from the normal state.