Jump to content

dummzeuch

Members
  • Content Count

    2857
  • Joined

  • Last visited

  • Days Won

    101

Everything posted by dummzeuch

  1. dummzeuch

    Any luck using 10.4.1 on Windows 8.1?

    I have installed it on 8.1 too (and another installation on Windows 10). But since 4.1 isn't stable enough for me to use it in every day work, I can't really say whether there are any Win 8.1 specific issues.
  2. dummzeuch

    PortableAppsToStartMenu 1.0.0

    The version.res file is generated by the prebuild script (when it works).
  3. dummzeuch

    PortableAppsToStartMenu 1.0.0

    The space character in the path might cause this.
  4. dummzeuch

    this regex function gets unexpected results at some cases

    The regex you posted here got mixed up by the editor/browser. There is no way we can help you based on that code. Do as @FredS suggests: Use a tool to try this regex.
  5. dummzeuch

    PortableAppsToStartMenu 1.0.0

    You don't need to run any batch file, but you must be sure to check out the sources including the externals, in this case dzlib and buildtools. The pre- and post-build scripts need buildtools. Oh, yes, I forgot to implement that button. I never use it and prefer drag and drop or autocomplete. I just added it out of habit. (Hm, why is this text larger now? Sometimes the mobile interface does strange things.)
  6. dummzeuch

    Tools API - Changing Key Assignment

    I think the problem with the Menu Shortcuts expert is, that it only changes the shortcut for the menu item, not that for the associated action. I guess I'll have to look into this a bit further. @Carlos Tré It's odd that changing the action's shortcut does not change the shortcut of the popup menu entry. They both use an action with the same name. Maybe these are two different actions? Not impossible given the mess some of the IDE modules present.
  7. The ToolsApi unit declares the IOTAProcess interface as follows: IOTAProcess = interface(IOTAProcess150) ['{FBECB2A2-80BF-400D-B4A6-0BCEABC2FF7D}'] { Read the process memory at the given address } function ReadProcessMemory(Address: TOTAAddress; Count: Integer; var Buffer): Integer; overload; { Write to the process memory at the given address } function WriteProcessMemory(Address: TOTAAddress; Count: Integer; var Buffer): Integer; overload; Unfortunately it does not say what the function results mean, and I haven't seen any code that checks that result. My assumption from the values I have seen is that these functions return the number of bytes read / written, but is that true? Is it documented anywhere?
  8. Apparently the new experimental Filter Exception expert does not work when debugging IOS or Android apps (and probably also not for Linux programs). There is a bug report on the Embarcadero Quality Portal on crashes when debugging IOS apps. Uninstalling GExperts or disabling the Filter Exception expert solves that issue. Does anybody have similar experiences with other platforms? I had a look at the code again and figured that the problem might be that it hooks/calls TNativeDebugger methods in win32debugide*.bpl. Maybe it should instead call one of the other *debugide* packages: gdbdebugide (Linux)? ios32debugide ios64debugide But on the other hand I don't really care because I don't do any development for anything but Win32 (and possibly Win64 in the future). So I am thinking about disabling the expert when a project for non windows platforms is active instead. It should definitely not crash the IDE.
  9. The WinApi functions return a BOOL, not a number. They have an additional parameter for that: BOOL ReadProcessMemory( HANDLE hProcess, LPCVOID lpBaseAddress, LPVOID lpBuffer, SIZE_T nSize, SIZE_T *lpNumberOfBytesRead );
  10. dummzeuch

    Filter Exceptions expert and IOS / Android apps

    Yes, if they are in the current context. That should be no problem with constants declared in the system unit, but for other constants that might not be the case. Hm, thinking about it: I wonder whether this is still true for parts of the IDE that are not written in Delphi...
  11. dummzeuch

    Tools API - Changing Key Assignment

    You are right. It's there in Delphi 10.4. I was looking in Delphi 10.2, where it isn't^D^D^D^D^Dis also right there in that same menu. But: Even in Delphi 10.4, if I remove the shortcut from the main menu entry with GExperts, it still gets shown in the editor's popup menu. And pressing Ctrl+D still calls the formatter.
  12. dummzeuch

    Filter Exceptions expert and IOS / Android apps

    I now read those vmt offset values from the debugger using IOTAThread.Evaluate. Works fine for Win32 and Win64. Can't test other targets.
  13. dummzeuch

    Tools API - Changing Key Assignment

    That was my first thought too, but unfortunately there is no main menu entry for it, and GExperts only supports man menu entries to assign keyboard shortcuts.
  14. I need the values for the constants vmtArcOffset and CPP_ABI_ADJUST (declared in the System unit) for various platforms. I know them for Win32 (both 0) Win64 (0 and 24 = 3*SizeOf(Pointer64)) Android32 (0 and 12 = 3*SizeOf(Pointer32)) Android64 (0 and 24 = 3*SizeOf(Pointer64)) IOS64 (0 and 24 = 3*SizeOf(Pointer64)) OSX64 (0 and 24 = 3*SizeOf(Pointer64)) Could somebody who develops for other platforms please look them up and tell me? IOS32 OSX32 Linux I'm not sure about the vmtArcOffset and how it changed for different platforms when Embarcadero introduced and when they later dropped ARC support. the automatic reference counting ARC support supposedly sets vmtArcOffset = 2 * SizeOf(Pointer).
  15. I found an easier solution: I'm now using IOTAThread.Evaluate to get the values of these constants (actually I needed vmtParent and vmtClassName which I originally wanted to calculate like the RTL does). Seems to work and doesn't even require me to know the target platform.
  16. Yes, I know, that's where I got those constant names from, but I don't know for which platform which symbol is defined.
  17. dummzeuch

    Filter Exceptions expert and IOS / Android apps

    Hm, yes, there is that. Very odd that it works at all. This function is only used in the testing code but that code is always enabled, so it should raise that exception.... Unless GetExceptionObject returns 0.
  18. dummzeuch

    Filter Exceptions expert and IOS / Android apps

    Thanks a lot for testing this. It's good to see that it works for most platforms. Could you please double check this again? Also for IOS? If it is a Delphi issue, you should probably file a bug report with Embarcadero (in this case, make sure to disable GExperts completely (not just the Filter Exception expert) to ensure that it doesn't interfere with the debugging in any other way.) If it turns out to only happen in the Filter Exceptions expert, I'd like to know that. There are other tests which I would like you to try, if you like: Raise a different exception (so I can see whether the name is determined correctly. Raise an OS exception, e.g. division by zero or access violation.
  19. From the screenshots I gather that both these programs have a lot of custom drawn stuff in the interface. Comparing them to the very simple configuration dialog of Notepad++ is a bit unfair. JRM seems to be an FMX program, I have no experience with that. From what I hear about FMX it should be fast on modern graphics hardware, but what about virtualized graphics hardware? I assume you have already installed the VMWare tools in that VM? If I remember correctly graphics output is very slow without them. Another option would be to connect to the VM via Remote Desktop which might be faster than the emulated graphics of the VM. Did you try to contact the vendors of these tools? Without knowing more about how they work, it's very difficult to guess what the problem might be. TDM looks pricey to me (vendors that ask you to contact sales to get a quote always are), so they should provide support to their customers. JRM in contrast seems to be a one man show, which may even increase your chances to get help, but he might not have the resources to actually test that case.
  20. dummzeuch

    function reference feature for Delphi source code

    Which does not support C++, which the OP seems to be interested in mostly.
  21. dummzeuch

    Tools API - Changing Key Assignment

    Ctrl+D is listed in the GExperts Keyboard Shortcuts expert as assigned to the action actFormatSource, so it's not an editor key binding but simply an action. And that means it's just a matter of finding that action and changing its keyboard shortcut to whatever you like. And the IDE is even helpful with an NTA (native tools api) call for this: function TGxActionBroker.GetIdeActionList: TCustomActionList; var NTAServices: INTAServices; begin Assert(Assigned(BorlandIDEServices)); NTAServices := BorlandIDEServices as INTAServices; Assert(Assigned(NTAServices)); Result := NTAServices.ActionList; Assert(Assigned(Result)); end; I leave the rest (enumerating the list and change the shortcut of the action as an exercise to the reader. 😉
  22. dummzeuch

    function reference feature for Delphi source code

    GExperts does not paint into the editor window and that's not easy to implement (CnWizards does it though). Also, Grep only searches for strings / regular expressions, it knows nothing about context, so it would be wrong for non unique identifiers, so this would be of very limited use. Feel free to try it though. I'll accept a patch. Maybe there are other tools that already implement this, but I know of none. Isn't there anything like the Find -> Find References functionality in the IDE for C++ code? It usually works fine for me for Delphi code.
  23. dummzeuch

    Having fun with Delphi

    Now that's a cool idea. I'm going to rewrite my FileFilterBuilder which currently is class / interface based in this way. Thanks a lot.
  24. You said yourself that this is about a different issue. You should open a new topic for it.
  25. I have been using WordPress for this blog for several years and always thought my setup was reasonably secure. Turns out that there is something called the WordPress REST API which allows to get quite a lot information about the installation without any security at all. Read on in the blog post.
×