Jump to content

David Heffernan

Members
  • Content Count

    3701
  • Joined

  • Last visited

  • Days Won

    185

Everything posted by David Heffernan

  1. I didn't say they were interchangeable. A Delphi string is an array of elements of type Char. The documentation says: "A string represents a sequence of characters." Wikipedia defines an array here: https://en.m.wikipedia.org/wiki/Array_(data_structure) So I guess perhaps what may be confusing here is maybe you think I am saying that a Delphi string is a Delphi dynamic array, TArray<Char>. I'm not saying that. I'm using the general computing usage of the word array.
  2. No, viewing a string as an array of char is pretty reasonable. I mean your argument could also be used to say that TArray<Integer> is not an array of integer because of the meta data. And when you do PChar(someString) to pass a null-terminated array of char to some external library, the compiler just passes the address of the first element. (Yes, I know about the empty string special case)
  3. In Delphi a string is essentially a 1 based array of char
  4. David Heffernan

    Cpp2 - Herb Sutter

    Imagine a world where Embarcadero weren't the only supplier of dev tools
  5. David Heffernan

    Weird code in THttpConnection.ProcessWellKnownDir

    The old code won't stop working. It's unrealistic to expect developers to expend extra time supporting legacy compilers and systems. It's no fun doing that.
  6. David Heffernan

    Which registry to edit

    Why are you asking the same question in multiple topics.
  7. David Heffernan

    FMX and Excel application

    Apache POI seems to be the go to library.
  8. David Heffernan

    Any advantage to using FastMM5??

    Then toss a coin. Expecting people to give you insights about your program's performance is a coin toss. May as weel save time and do it yourself.
  9. David Heffernan

    Any advantage to using FastMM5??

    Depends on what your program does. Try timing it.
  10. David Heffernan

    Best place for Spring4D questions

    I think Stefan suggests posting on Stack Overflow suitably tagged
  11. David Heffernan

    Exception in TCustomSmtpClient.Destroy;

    No they are not
  12. David Heffernan

    Exception in TCustomSmtpClient.Destroy;

    Nobody is going to be able to tell you what's wrong. You'll need to do some debugging. Does the issue occur when not using ReactOS?
  13. David Heffernan

    HoursBetween

    They can only choose from these 14 items? Why do you need any conversion? Isn't it just (EndIndex - StartIndex) / 2?
  14. David Heffernan

    HoursBetween

    The problem is that your code is based on an assumption that the end time is after the start time, but 00:00 is the beginning of the day and so can never be used as an end time. Hard to advise you what to do because we don't know your goals, where your data is coming from, how you want to handle day boundaries etc.
  15. David Heffernan

    Exception in TCustomSmtpClient.Destroy;

    The error could be in code outside the destructor. So look in that code. We cannot see it.
  16. David Heffernan

    Weird code in THttpConnection.ProcessWellKnownDir

    If that is the case, then MaxInt should be used for that argument
  17. David Heffernan

    Weird code in THttpConnection.ProcessWellKnownDir

    I don't know what you mean here. Did you write this code? What problems are you having with the code?
  18. David Heffernan

    Weird code in THttpConnection.ProcessWellKnownDir

    That's what I would do, but it's just a needless nil check which a compiler could remove.
  19. David Heffernan

    Weird code in THttpConnection.ProcessWellKnownDir

    This statement is incorrect. The only way for Create to fail is if it raises an exception. The code is odd, but it doesn't do what you say.
  20. David Heffernan

    Exception in TCustomSmtpClient.Destroy;

    If that code is from a destructor it's bizarre. Just call Free on each instance variable. But that may not be the issue, it would only be an issue if there were stale references in one of those instance variables. The issue may be a double free of the object. Or something else. Debugging required.
  21. David Heffernan

    32bit vs 64bit

    From what I can see, for the hardware that Delphi runs on, float64 is the largest float that can be operated on efficiently with CPU hardware instructions. float80 is available in the x87 unit, but x87 is very inefficient on modern processors. Do you know how float128 is implemented by compilers like gcc on x64 hardware? It's done in software. Presumably therefore it is slow. What real-world applications do you know of that require float128?
  22. David Heffernan

    32bit vs 64bit

    How are you going to implement a BLAS efficiently on today's hardware? What processors do you know of with efficient FPUs that handle more than float64? Forgive me if I am ignorant. I'm not talking about business apps. I develop a structural FEA code for engineers. Double precision is all that is required.
  23. David Heffernan

    TOpenDialog/TFileOpenDialog => how to to bypass file system redirection?

    Excluding files from system directory sounds like a recipe for disaster! But yeah, make a 64 bit process. If you still need to support 32 bit OS then you need to supply one version for each OS.
  24. David Heffernan

    TOpenDialog/TFileOpenDialog => how to to bypass file system redirection?

    Out of curiosity, what does your program do that requires users to select files in these directories which are private to the OS?
×