Jump to content

dummzeuch

Members
  • Content Count

    2772
  • Joined

  • Last visited

  • Days Won

    98

Everything posted by dummzeuch

  1. dummzeuch

    Components form not sizeable

    For some, but not all.
  2. dummzeuch

    Components form not sizeable

    Yes, that's a bug. It works fine up to Delphi 10.2. And it makes sense, at least to allow the user to make the dialog higher for long lists (e.g. the Interbase components), otherwise I would not have bothered. Yes, Please file a bug report. (But the "fix" will probably be to disable this functionality for Delphi 10.3+. I'm really getting tired of working around newly introduced bugs and "features" in the Delphi IDE, especially since I don't use it because of all the bugs.)
  3. When Microsoft introduced Windows 10 they said it would be the last version of Windows ever. They lied of course, because since then we have multiple versions of an operating system called “Windows 10”. Even worse, starting with Windows 8 they made their WinAPI function GetVersionEx lie about the Windows version https://blog.dummzeuch.de/2019/04/21/getting-the-windows-version/
  4. dummzeuch

    Getting the Windows version

    Thanks for explaining that. Somehow I thought that adding a link after these few lines would be make it clear that there is more to the post, especially since the category is about blog posts. Apparently it's not.
  5. dummzeuch

    Getting the Windows version

    I stand corrected. Somehow I missed the additional calls to GetNativeSystemInfo and GetProductVersion. Yes, at least in Delphi 10.3 (I haven't checked previous versions), TOsVersion detects Windows 8.1 and 10 correctly.
  6. dummzeuch

    Getting the Windows version

    This was not about a video but about a blog post. But feel free to continue not reading anything I post. It's completely voluntary. I agree that most videos on programming are a waste of time. It's still my opinion that somebody who comments on a blog post should at least have read it. If you had, you would have noticed that I already mentioned RtlGetVersion and discarded it because it does not give me the information I wanted. Just in case you are interested nonetheless: I have just written another blog post crediting your hint. If you don't want to be credited with something that you apparently deem to be too trivial for your attention please let me know.
  7. dummzeuch

    Getting the Windows version

    The category is "Tips / Blogs / Tutorials / Videos". But hey, who am I to interpret that ...
  8. dummzeuch

    Getting the Windows version

    Apparently nobody can be bothered to actually read the blog post before commenting... Edit: Reading the info from the registry was new to me. Thanks. edit2: That's where Winver gets the information from. If I change ReleaseId to 1810, Winver displays that value too. I would have expected Microsoft to make changes to those keys impossible.
  9. dummzeuch

    Getting the Windows version

    It still does not get you "Windows 10 version XXX". It also does not get you Windows 8.1 but returns version 6.3. These version numbers have to be interpreted first to get what Winver shows to the user.
  10. Hey, nobody forces you to use the Uses Manager. I just thought I'd mention that it can be used that way. Regarding the long time it takes to build the list: Try it again. It should be much faster after it created the initial cache.
  11. dummzeuch

    Getting the Windows version

    Are you sure about that? I looked at the code and found nothing special. It simply calls GetVersionEx. I think this works only because the new compilers add the right manifest entries. Remove them and try it again. Also, it does not distinguish between the various versions of Windows 10.
  12. That depends: If you know the name of the procedure you're looking for, it's fast enough. And that's the use case you were describing:
  13. dummzeuch

    Getting the Windows version

    There is no download, instead you use subversion with the following URL: http://svn.osdn.net/svnroot/dzlib-tools/dzlib/trunk/ Alternatively you can use svn with the following URL for getting dzlib+buildtools, which includes all externals that may be used in any of the test programs or referenced in some of the units: http://svn.osdn.net/svnroot/dzlib-tools/dzlib+tools/
  14. You could also use the identifier tab of the GExperts Uses Manager. It gives you the unit name where an identifier is declared and with Ctrl+O you can even open that unit (but it does not jump to that declaration, yet)
  15. This is why we need a forum that is not StackOverflow: Is there a plugin for delphi IDE for doing the following: Jumping from interface to implementing classes. for example in JIdea Java IDE you can easily point to an interface and see all implementing classes and select to which class you want to jump. It is currently very annoying that Ctrl+Click on a method goes to the interface where the method is declared and there is no easy way to find classes implementing this method. The only option I know is search. Voted down and probably will be closed shortly because: "Recommendation requests are off topic here" https://stackoverflow.com/questions/53116163/is-there-a-way-to-jump-to-implementing-classes-in-delphi-rad-studio Maybe somebody here can help? (Note: It's not my question, I just copied it here.)
  16. dummzeuch

    MMX needs new icons

    The problem with this approach is that only very few companies will shell out money for something that's not tax deductible. Only the very small ones and one man shows will, in the larger ones there will be a bean counter who prevents this (as probably is his job).
  17. dummzeuch

    What does "G" in GExperts mean?

    Gerald stopped using Delphi more than a decade ago.
  18. dummzeuch

    Any advice when to use FileExists?

    My fault. When I said "getting the file age", I didn't mean calling GetFileAge, but getting it using GetFileAttributesEx directly, which of course also checks whether the file exists. That's slightly slower than GetFileAttributes but still much faster than calling both. And yes, I forgot that it was the *Ex variant, not the simple one called by FileExists.
  19. 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/
  20. dummzeuch

    Testing functionality "ignore topic"

    I for one am content with not getting any notifications and those topics not showing up in my unread list.
  21. 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.
  22. Goes to show that I spend a lot of time working with old Delphi versions.
  23. dummzeuch

    Any advice when to use FileExists?

    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.
  24. dummzeuch

    Efficient list box items with Frames

    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.
  25. dummzeuch

    What does "G" in GExperts mean?

    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)
×