Jump to content

David Heffernan

Members
  • Content Count

    3586
  • Joined

  • Last visited

  • Days Won

    176

Everything posted by David Heffernan

  1. David Heffernan

    Using GetMethod functions in the .NET COM interop

    I think that post is about accessing a COM object exposed by a .net assembly. But I think that the asker is embedding the .net runtime via its COM interface. So I expect that there is a way to obtain Type and call methods on it, but who wants to scour 32kloc and learn how to use that darn thing. Surely the entire enterprise would be easier by exposing the target code with a .net layer, e.g. a COM wrapper of the target code.
  2. David Heffernan

    DynArraySetLength exception

    Yes, you are wrong. If you have two threads reading then they are not synchronisation with respect to each other.
  3. David Heffernan

    DynArraySetLength exception

    Cut it down to a minimal repro. Although it is likely that the answer has been revealed in other comments about the misuse of the lock.
  4. David Heffernan

    DynArraySetLength exception

    Defect in the code that isn't shown here.
  5. David Heffernan

    10.3 vers 10.2 Linux

    Use classic memory management. obj := TMyObject.Create; try obj.DoSomething; finally obj.Free; end;
  6. David Heffernan

    Anon methods passed as event handlers?

    They really aren't complex at all to use. Which is my point. You are talking about the implementation details. If you find C# complex then that's on you. Since you declared a few comments back that you didn't really have a sound grasp of C# delegates perhaps you should become knowledgeable on the subject before acting like an expert. Just a thought. Myself, I don't find C# delegates at all complex. It would certainly be pretty convenient if you could use anon methods as event handlers, as you can trivially do in C#. I understand why you can't in Delphi and it's too late to change now. But when you write code in other languages that don't have backwards compatability constraints, it can be irritating when you come back to Delphi.
  7. David Heffernan

    Anon methods passed as event handlers?

    Er, the complexity is in Delphi with its multiple different procedural types. C# delegates are simple.
  8. David Heffernan

    Anon methods passed as event handlers?

    Yes to all questions.
  9. David Heffernan

    Anon methods passed as event handlers?

    It seems to make sense in other languages, like C# to give one example. The very way you talk about it is symptomatic of the problem. Talking about implementation details. Clearly there has to be an implentarion, but programmers by and large want to be shielded from these details.
  10. David Heffernan

    Anon methods passed as event handlers?

    David is making a good point here. If Emba were starting from scratch here, would they end up with all these different incompatible procedural types? I doubt it.
  11. Personally I think it would take a little more than that to get someone motivated. Just giving you a view from a programmer.
  12. There are a few common reasons why people write software. 1. They get paid to do it. 2. They find intrinsic reward for it. I doubt anybody here not already a developer on this project is going to fit in those categories. Such a person has a steep learning curve, and what would be their reward?
  13. Have you any Delphi experience yourself? What is your involvement in this project?
  14. David Heffernan

    Forked VSCode for Delphi

    There's absolutely no reason why you should not do this.
  15. David Heffernan

    CreateBlobStream

    It's important to learn how to try finally is used. Like this resource := acquireResource; try resource.doSomething; finally resource.release; end; I've not use standard names here, but gone for a more conceptual presentation. The key is the order of things.
  16. David Heffernan

    On-demand ARC feature discussed

    I'm not sure what the purpose of this post is but it is pretty off topic.
  17. David Heffernan

    On-demand ARC feature discussed

    Well, typical C++ code has automatic memory management too using the RAII principle. So that argument falls down I think.
  18. David Heffernan

    Wow, first time using repeat ... until

    No. The only C++ loop with an interaction statement is for.
  19. David Heffernan

    Getting the Windows version

    I think that the point Angus was making was that he read the text, and did not follow the link. The text seemed to be the first two paragraphs of the blog post, but without mentioning that there was more to be found by following the link. I have to say that I read the post two or three times wondering what it was that you were trying to tell us. Since the text you did include was only part of the story, it would in my view, have been better not to have included any text and just referred us to the offsite link to your blog post. That's at least three people that were confused by the post. Listen to our feedback or not. It's completely voluntary. 😉
  20. David Heffernan

    Limit to reactions

    🤦🏻‍♀
  21. David Heffernan

    Anyone Tried Multi-Threaded Direct2D Using Delphi?

    The Delphi code will look just like the C++ code. I don't think you draw on the canvas at the same time though, the examples show that a lock has to be used.
  22. David Heffernan

    Wow, first time using repeat ... until

    The C++ for loop, in its general form, is trivially translated into a while loop. So for (init; condition; iteration) statement becomes init; while (condition) { statement; iteration; } It is well worth knowing this if you are in the business of translating pieces of code. So in C++ the for loop is syntactic sugar on top of the while loop. In Delphi also the classic for loop can also be trivially expressed as a while loop. This for loop is simpler than that of C++ but it's still just a while loop (condition tested before body executed) with implicit increment. They Pascal repeat loop is like the C++ do loop. They key being that the condition is at the end of the body rather than the beginning.
  23. David Heffernan

    Limit to reactions

    We can only dream.......
  24. David Heffernan

    Any advice when to use FileExists?

    Load into memory, close, then parse is likely wasteful and risks memory exhaustion. I would urge you to choose the simplest solution that meets your needs, at every decision point.
  25. David Heffernan

    Any advice when to use FileExists?

    Why are you so worried about reading from files. It's perfectly normal to open a file, read it, parse as you go, then close. In fact trying to do other than that is just going to create more complexity for you. To what benefit? What is the problem here? What do you see going wrong with the most simple way to read files? It looks like you are inventing a problem where none exists.
×