Jump to content

dummzeuch

Members
  • Content Count

    2634
  • Joined

  • Last visited

  • Days Won

    91

Everything posted by dummzeuch

  1. dummzeuch

    Per monitor DPI awareness - how to prevent flickering?

    Hm, the use of LockWindowUpdate is strongly discouraged by Microsoft: Some gotchas of LockWindowUpdate: What does LockWindowUpdate do? And even worse, this describes exactly your use case: With what operations is LockWindowUpdate not meant to be used? Some remarks on WM_SETREDRAW here: The Unfortunate Effect of WM_SETREDRAW No idea whether these still apply, the blog post is from 2011.
  2. dummzeuch

    Registering GExperts after a build??

    If you overwrite the DLL when building it, you don't need to register it, the IDE will load the new DLL the next time it starts. If you build it to a different directory, you can still copy/move it and overwrite the original one, which again won't require a new registration. Only if you want to use the new DLL in a different directory, you will need to unregister the old one(!) and register the new one.
  3. dummzeuch

    GLAD loader for Delphi

    None at all. I don't expect anybody to put any effort into whatever, unless they are really interested. I have been proved right with that many times. I have spent lots of time trying to write good documentation, comments or bug reports. Some people do read it, but many simply don't and start asking questions that have already been answered. So why bother writing it?
  4. dummzeuch

    Recomended Translation API

    If you start from scratch, consider using DeepL. Their translations are usually much better than Google or Microsoft. I don't know about their API though, I only ever used the web interface.
  5. Sometimes your program needs to block the screen saver from automatically kicking in. My use case was that the program was recording data and whenever the screen saver was active, the data was lost (No idea why, it probably had something to do with the way HID is implemented in Windows.) So I was looking for a way to fix that without forcing the user to turn off the screen saver. The methods that used to work under Windows XP no longer work in Windows 7 and later (I don’t care about Vista), so I googled and found this question on StackOverflow. The Windows API functions PowerCreateRequest + PowerSetRequest mentioned in the highest voted answer looked promising. Unfortunately they don’t seem bo be available in Delphi read on in my blog post
  6. dummzeuch

    Filter Exceptions expert and IOS / Android apps

    Thanks, this could solve the problem, but as I said: I cannot test it. I need some volunteers to test this. Any takers? It's just a matter of creating a simple Android, Linux, OSX or IOS application respectively that raises an exception and see what happens. If Mahdi's fix works this will simply display the filter exception dialog, if not, it will crash the IDE. That's simple to distinguish. 😉 I just tried to create a simple Android app to run in the emulator, only to discover that apparently the emulator is no longer supported for debugging. So, that leaves me with trying to install all the stuff necessary to debug on a real device or not give a damn.
  7. dummzeuch

    More performance Stringgrid sorting algorithm help

    That's Bubble Sort you are using, which is not renowned for speed but mostly for the funny name. Maybe it would help to use something faster?
  8. dummzeuch

    GLAD loader for Delphi

    I would agree, if this were a commercial library. But this is an open source project, apparently maintained by a single person. You can, of course, expect what you want, but nobody is obliged to care. You should have formulated it as a suggestion rather than a demand. Writing documentation is usually less fun than coding and requires a different skill set, so most programmers expect to be paid for it as a compensation. In open source projects there usually is nobody who can pay them, so the documentation is lacking.
  9. dummzeuch

    On IDE cannot get TABS

    I think this is what you are looking for: https://stackoverflow.com/questions/7649812/get-set-sub-properties-ussing-rtti
  10. dummzeuch

    On IDE cannot get TABS

    Have a look at the code in "IDE PlugIn\Colorizer.Hooks.IDE.pas", "IDE PlugIn\Colorizer.Hooks.pas" and "IDE PlugIn\Colorizer.Wrappers.pas". These seem to be the places where the plugin hooks into the TGradientTabSet code of the IDE. I just grepped for "TGradientTabSet", I didn't try to understand any of the code, so don't ask me how it works, I don't know.
  11. dummzeuch

    On IDE cannot get TABS

    Yeah, that's odd. I wonder where this declaration comes from. There are other classes there as well, that are naked declarations. Maybe looking at the project as a whole would give some clues. For a start I would remove all property and method declarations, typecast to this type and try to access the fields to see if that results in plausible values. If they do, it's possible to call the virtual methods through the VMT. But that's definitely out of my league.
  12. That one only applies to the map file. Of course, the same code should probably also work for the search path. It's just not called.
  13. dummzeuch

    "Self-updating" terminal services DLL

    It should be possible to rename a DLL while it is being used and replace it with a new one. I do this all the time in the pre build script of GExperts. This of course requires the rights move the file in the first place.
  14. Thanks, I was just about to ask you to do that. I'm sure there are other places where support for environment variables would be convenient. I'll have a look when I find the time.
  15. dummzeuch

    On IDE cannot get TABS

    TabControl is a TGradientTabSet, not a TTabControl and it does not descend from TTabControl either (Look at the Hierarchy tab in the IDE explorer), so typecasting it to TTabControl won't work. It doesn't have a Tabs property either, so even RTTI won't help you there. I found a TGradientTabSet on https://github.com/RRUZ/Delphi-IDE-Colorizer/blob/master/IDE PlugIn/Galileo/TGradientTabSet.pas. Not sure this is the one used in the IDE, but it's worth a try since this seems to be an IDE plugin.,
  16. I'm encountering this problem regularly when some component isn't installed in the IDE or is installed but in a different (usually older) version. It would be nice to simply open that dfm as text and be able to make rudimentary changes to it. Most of the time it is enough to remove or change some properties from the dfm to make it load normally. The IDE always offers to delete a property or control, but I don't trust it (and I have reasons for that). Currently I open the dfm in a text editor but that's rather inconvenient.
  17. dummzeuch

    GExperts for Delphi 10.4.1

    I have received a few reports about bugs in GExperts in Delphi 10.4.1 that do not occur in Delphi 10.4. Here is a GExperts DLL that was compiled with Delphi 10.4.1. Maybe it will solve some of theses problems. Read on in the blog post.
  18. dummzeuch

    On IDE cannot get TABS

    Since the Visible property is introduced very early in the controls hierarchy, it's more likely to work than the Tabs property. Most likely your "x" is not a TTabControl but something else. Have you checked its ClassName?
  19. dummzeuch

    GExperts is causing a problem when debugging

    No, I can't. I don't have any apple hardware to run any tests. See my comment to the ticket:
  20. dummzeuch

    On IDE cannot get TABS

    The link I posted goes directly to the page that gives you the description and in turn links to the source code. There is no ready built bpl for it. (And it's not part of GExperts.)
  21. dummzeuch

    On IDE cannot get TABS

    Did you try one of the Delphi IDE Explorers? E.g. mine. It might get you better information than Winspector. Multline tabs for the editor window are not possible with Delphi > 7. I don't know about the "new" old style component palette, I never used it.
  22. dummzeuch

    Suggestion for Debug helper Expert

    I understood that you wanted to have an additional window that is shown when the CPU window is visible. Another approach would be to extend the CPU window itself, similar to what GExperts does to the Search Path edit window. It could add a panel to the right of the window which contains additional controls that are filled by GExperts.
  23. dummzeuch

    Suggestion for Debug helper Expert

    Not sure wether it is doable, we'll never know for sure until we try. As for usefulness: I rarely use the CPU view, so for me it would be of very limited use. For others, I don't know. To sum it up: I have no plans to do this, because I have too much to do for my limited time already. But as always, I will accept patches if somebody wants to try. I will also grant write access to svn if somebody thinks he needs it. So, if you want it: Do it. :-)
  24. I my last GExperts related blog post I wrote about the new “Close Exception Notification” expert which I just had added to GExperts. It was a hack that hooked the Exception Notification dialog. This spawned a discussion in the international Delphi Praxis forum and resulted in a rewrite of the expert. It’s now called “Filter Exception” expert and instead of hooking the dialog it directly hooks into the code that shows this dialog. Thus it prevents the dialog from being shown for filtered exceptions. Read on in the blog post.
×