Jump to content

David Heffernan

Members
  • Content Count

    3494
  • Joined

  • Last visited

  • Days Won

    172

Everything posted by David Heffernan

  1. David Heffernan

    Strange Benchmark Results; Am I Missing Something?

    A really good compiler would remove the loop and just turn it into a simple assignment
  2. David Heffernan

    Micro optimization: IN vs OR vs CASE

    The familiar refrain, but the message has not landed yet
  3. David Heffernan

    INI problem

    TIniFile uses deprecated Windows APIs that haven't been safe to use since 32 bit Windows was release nearly 30 years ago. So yeah use TMemIniFile which has a native Delphi INI parser that won't cause you such trouble. Never ever use TIniFile is the rule here.
  4. I think I'd write a custom dict for this.
  5. I don't think any amount of care can solve the issues there
  6. David Heffernan

    Delphi 11.1 is available

    I'm so excited about this feature
  7. David Heffernan

    Delphi 11.1 is available

    Found and reported load of bugs that haven't been fixed and aren't in the public QP.
  8. David Heffernan

    SearchBuf is deprecated

    Can you just look at the RTL source code and work it out?
  9. David Heffernan

    SearchBuf is deprecated

    https://docwiki.embarcadero.com/Libraries/Alexandria/en/System.StrUtils.SearchBuf Suggests it is now in the AnsiStrings unit.
  10. David Heffernan

    Build a Windows GUI shell in Delphi (CarPC)?

    Windows and Delphi must be the wrong tool for this task. There was a time when you didn't know Delphi. You learnt it. Is it so hard to imagine learning again?
  11. David Heffernan

    CPas - C for Delphi

    Distributing DLLs with an exe is really very trivial. Either in the same directory as the exe or a sub directory as an assembly using manifests. Linking .obj files to an exe is a tricksy business. You need to supply the C RTL and for complex libs that is often very hard to achieve. And then on x64 you have the longstanding bug that the Delphi compiler doesn't pick up pdata sections with the exception tables. So exceptions in the C code can just terminate the process.
  12. David Heffernan

    CPas - C for Delphi

    Often because of dependencies on 32 bit code. Like how the Delphi IDE is. Personally I think could drop 32 bit support now and my customers would be fine with it.
  13. David Heffernan

    CPas - C for Delphi

    I tend to use msys2 to build such libraries. Generally very simple to get it built.
  14. David Heffernan

    CPas - C for Delphi

    So it's more geared towards looser coupling, a more scripting like approach. I guess if I know the external code I want to use at compile time then linking to a DLL in the classic fashion is generally preferable.
  15. David Heffernan

    CPas - C for Delphi

    Would be nice to know what's actually going on here, but all I can see is an opaque DLL which seems to have all the implementation in it.
  16. Start by reading the error message and thinking about what it means. Then look up the documentation for the error message. Don't give up so easily. Just because you made a mistake, don't assume that you can't solve it yourself. Think harder. Keep trying.
  17. That message is clear. At least it is clear to me. Do you understand it. It's very hard to express this without sounding mean, but you aren't going to succeed in your goals without first getting the appropriate tools. Which in this case means more programming skills. You said yourself that these are lacking. Stop trying to solve problems that are beyond your current capacity, and start seeking to gain the skills you need.
  18. David Heffernan

    docwiki.embarcadero.com is not working

    No, this isn't business as usual. The broken docwiki is not because they are improving it. I know that they are working on a new system, but the old one broke on its own accord. At least that's what I understand from a PM from Marco.
  19. Not sure about the exception swallowing here
  20. Combine can mean many things. Realistically though, if you want to do programming, you can't avoid gaining the skills necessary.
  21. David Heffernan

    docwiki.embarcadero.com is not working

    I can't see a joke here. Maybe I should just mute the topic because there is nothing more to say.
  22. David Heffernan

    docwiki.embarcadero.com is not working

    It isn't the case. Why are you speculating on something about which you have zero information?
  23. David Heffernan

    Is a "bare-minimum" EurekaLog possible?

    No doubt I can get the information about the nested exceptions using ME code. I solved my problem a different way that was actually a bit more elegant and avoided the complexity of nested exceptions anyway.
  24. David Heffernan

    Generic sort of several "parallel" arrays?

    Is this telling you is that your data structure is wrong? What you need is a record with the 4 values and then array of that record. Then basic array sort with custom comparer gets it done. Then again, perhaps you so need direct access to contiguous arrays of each of the 4 scalars. As stated you really need a sort algo that allows you to provide both comparer and exchanger. I had such a thing once. The final approach is not to modify the arrays at all. Create an integer array with values from 0 to N-1 and then sort that using the x values to determine the order. Have the compare function return CompareSingle(x[idx[left], x[idx[right]])
  25. David Heffernan

    Is a "bare-minimum" EurekaLog possible?

    In Pascal code Exception.InnerException is never assigned.
×