Jump to content

David Heffernan

Members
  • Content Count

    3586
  • Joined

  • Last visited

  • Days Won

    176

Everything posted by David Heffernan

  1. David Heffernan

    import C# Dll in delphi 10.4

    Rather than linking to files, please show the code inline, formatted
  2. David Heffernan

    DLL access error

    You can debug the dll, assuming you have the source code
  3. David Heffernan

    A gem from the past (Goto)

    Well, the Speccie and the 64 did have better games. The 64 had epic sound. The beeb was more used for hobbyist coding then the other computers of that age. And the beeb did have by far the best programming language of these. There were real differences.
  4. David Heffernan

    import C# Dll in delphi 10.4

    We still don't know anything about your dll. When I said that nobody can give you any step by step guides without knowledge of what the dll is, I stand by that. I mean, we could write you lots of hypotheticals. You've got one above. But how about you put some effort in and find out what this dll offers.
  5. David Heffernan

    A gem from the past (Goto)

    Speccie basic was a terrible language. The beeb had a much better variant.
  6. Well, knowing what you are doing in the setter functions is likely important to decide how to write them. You want to take copies? And do you have one member field for each array type? Anyway, I'm also of the opinion that a branching generic method is little better than a series of overloads.
  7. David Heffernan

    import C# Dll in delphi 10.4

    There are lots of different ways to do this depending on what the dll offers. Nobody can give you any steps without knowing how the dll exposes its functionality.
  8. Are you sure this is right? It takes a reference to the array rather than a copy.
  9. David Heffernan

    Delphi and "Use only memory safe languages"

    I mean I broadly agree. I was just trying to explain to Thomas what the post he was responding to actually said. For me it's crazy that dynamic arrays are zero based but strings are one based. Obviously I can see how we got here.
  10. David Heffernan

    Delphi and "Use only memory safe languages"

    This is a strange post. The issue with multiple languages is the mix of zero based and one based indexing.
  11. David Heffernan

    Delphi and "Use only memory safe languages"

    I don't disagree with that point. My point is that it was a bad idea in the first place to make strings 1 based.
  12. David Heffernan

    Delphi and "Use only memory safe languages"

    It would make far more sense for strings to be zero based. They are only one based because short strings stored their length in element 0.
  13. David Heffernan

    Delphi and "Use only memory safe languages"

    You can for short strings
  14. David Heffernan

    Delphi and "Use only memory safe languages"

    for var item in arr do This is generally to be preferred, but sometimes you want the index as well as the item. In Python we write for index, item in enumerate(arr): print(f"arr[{index}] = {item}") The absence of such a feature, which also relies on tuple unpacking, makes such loops in Delphi less convenient. This is pretty much the only reason for still using classic for loops.
  15. I use an EV code signing certificate
  16. No, this is not possible in Delphi 2007. You can declare typed constants for fixed length arrays, but not dynamic arrays.
  17. Sorry, content removed, I'm talking nonsense.
  18. Sorry, content remove, I'm talking nonsense
  19. David Heffernan

    Delphi and "Use only memory safe languages"

    Isn't the reason that Delphi is good at building GUI apps, at least it was for vcl back in the day. And it's still good for pure Win32 apps.
  20. David Heffernan

    Ping-pong between two Application.ProcessMessages

    Yeah, use threads
  21. David Heffernan

    How to edit a config file

    You need try/finally to avoid potential leaks. There are basically two main object creation patterns that you have to learn. You can't get far without them.
  22. Can you link the documentation you refer to so that there is no ambiguity in the question
  23. David Heffernan

    Disabled floating point exceptions are problematic for DLLs

    That's easy to fix. You just make sure that they call internal methods only. Not really. You can store the FPCR to a local variable in the exported method. The thing is, the change in Delphi 12 isn't actually causing any new issues. These issues always existed. It's just a consequence of the "design" of DLLs not making FPCR part of the ABI.
  24. David Heffernan

    Disabled floating point exceptions are problematic for DLLs

    One very obvious problem is that you need to write code like this everywhere. Not just at the top level. I stand by my advice before. Either: 1. Make FPCR part of the contract, or 2. Take control on entry, and restore on exit.
  25. David Heffernan

    Disabled floating point exceptions are problematic for DLLs

    This is the worst advice I've seen in quite some time!!
×