Jump to content

David Heffernan

Members
  • Content Count

    3469
  • Joined

  • Last visited

  • Days Won

    171

Everything posted by David Heffernan

  1. David Heffernan

    Messageloop in Omnithread task

    I wish the language would require parens for parameterless calls.
  2. An HMODULE has always been the base address of the module, as loaded into its process. And it's documented here: https://learn.microsoft.com/en-us/windows/win32/winprog/windows-data-types#HINSTANCE
  3. Stack location has never been repeatable. And as for the module, it starts at HInstance. As it always has. And DLLs have always needed to be relocatable. It's just Windows EXEs that previously could be relied upon to have a known start address. So yeah, change $00400000 to HInstance and it's all good.
  4. Yeah, don't understand why you think that this is a Delphi issue. The executable that Delphi produces is fine. You then mangle it and it fails. Speak to the developer of the code that mangled your exe. It's common, and always has been, for such so-called protection schemes to fail. It's the risk you take on when you start mangling executable files like this.
  5. Probably the issue is in your code to do this encryption. We don't know what that code is.
  6. David Heffernan

    Hosting a console in a Delphi Application

    If you look at other IDEs that have console windows, they don't do cross process window parenting.
  7. David Heffernan

    Problem writing to memo on main form from thread

    Why would we even need to call Update. I think I'd want to understand that first, because it's probably indicative of a design flaw.
  8. David Heffernan

    Replacement for TBits?

    There's literally one in this thread.
  9. David Heffernan

    Turbo SynEdit & Font Ligatures

    That's pretty funky. Sadly not practical for actual use.
  10. David Heffernan

    Replacement for TBits?

    It's obviously more complicated for the programmer to use MMF than plain memory. Unless there was a benefit to using MMF then there's no point in taking on that complexity.
  11. David Heffernan

    Replacement for TBits?

    If you simple want a block of bytes, just use memory. Why use MMF? Here’s an example of why you might use MMF, for cross process sharing. But that isn't what this topic is abkut. I can't see anything in this topic that suggests that MMF would add anything over plain memory. Or have I missed something?
  12. David Heffernan

    Turbo SynEdit & Font Ligatures

    How?????
  13. David Heffernan

    coff2omf does not create any output or error messages

    It's odd that the emba tool won't work directly with platform standard import libs. You'd think they'd find a way to do that.
  14. David Heffernan

    Python4Delphi performance in a dll

    All the details we'd need to say anything about your program.
  15. David Heffernan

    Replacement for TBits?

    I have never tried to allocate such enormous amounts of memory using Delphi's heap manager (Fastmm4), I really don't know how it behaves if you try to allocate one huge chunk that is bigger than what the machine has physically. These huge blocks won't be allocated by fastmn. They will be passed through to VirtualAlloc. But we aren't talking about a chunk of memory greater than what the machine has physically anyway. I'm rather sceptical that MMF would ever be appropriate here.
  16. David Heffernan

    Replacement for TBits?

    Doesn't memory already handle all of this? I mean, the paging system does all of this already surely?
  17. David Heffernan

    Hosting a console in a Delphi Application

    They control the code for all processes involved. That's the crucial difference.
  18. David Heffernan

    Replacement for TBits?

    Why would a memory mapped file be remotely helpful here?
  19. David Heffernan

    BlockRead & BlockWrite - E2010 error

    No. I have classes that have similar methods. For example, my reader class can be used with while/readln pattern, or a for in loop.
  20. David Heffernan

    BlockRead & BlockWrite - E2010 error

    You can add buffers wherever you like. I have line based text file readers and writers that buffer actual file access.
  21. David Heffernan

    Hosting a console in a Delphi Application

    Read the code of an open source project that does this and work out what they do
  22. David Heffernan

    BlockRead & BlockWrite - E2010 error

    You don't need to use these apis to have buffers
  23. One was mentioned above. But there are lots. This looks solid https://github.com/vilya/miniply
  24. Does the C library handle binary format?
  25. David Heffernan

    BlockRead & BlockWrite - E2010 error

    Clearly it's a procedure not a function though.
×