Jump to content

Lars Fosdal

Administrators
  • Content Count

    3565
  • Joined

  • Last visited

  • Days Won

    120

Everything posted by Lars Fosdal

  1. Lars Fosdal

    Delphi compatibility with Windows 11?

    Only the start menu has rounded corners. Go figure.
  2. Lars Fosdal

    Delphi compatibility with Windows 11?

    Annoyingly, the Windows 11 GUI doesn't show rounded corners in my VM. Makes me wonder what else looks different between a VM and a regular desktop.
  3. We use inline vars quite a bit. For loops, in particular - as well as for temporary variables. But, yes, the tooling is lagging behind.
  4. Lars Fosdal

    Async Tasks in VCL Projects

    You've put good advice in that article, @Uwe Raabe. Just my two cents... A lot of people say multi-threading is hard. It is only hard if you have not learned to do it properly, like any other thing in life. Debugging multi-threading apps, on the other hand... Make sure you log a lot - with the thread context in the log. IMO, the debugger is not yet properly equipped to deal with multiple threads, unless you count using lots and lots of breakpoint tweaking. The Parnassus Parallel Debugger plugin may solve some of that, but it is not yet out for Delphi 11, and it has stability issues in 10.4.
  5. FWIW: We have several 32-bit services. There is no reason what so ever to put them in one of the Systems folders.
  6. Lars Fosdal

    enable/disable the internet connection?

    Just an observation. I've been on Windows 10 for a few years now, and I don't recognize this "Windows keeps downloading stuff". Once a month, there are patches - and staying patched is generally a good idea. As long as you are on Windows Pro or Enterprise, you have control over WHEN you want the patching to happen, unless your company has overriding policies - in which case you need to butt heads with the IT department to get them adapted to your needs. If you are using Windows Home, you need an upgrade. Disabling/Enabling your network connection on the PC to avoid patching seems like the wrong solution, because you really need that working connection to get work done. If you really need to block something, do it in a firewall rule. Most routers can do that.
  7. In concept, it is great - but lack of support in the debugger is a problem. If you have two blocks with var x := <whatever> it gets even more confused. I love using inline vars for loops -> no use after the loop block and type inference saves you from having to declare the type.
  8. Lars Fosdal

    Missing Buttons

    When you look in the form designer, are the OK and Cancel buttons correctly parented? I.e. are they on the expected place in the form hierarchy?
  9. Lars Fosdal

    Asynchronous Programming Library

    It is VERY hard. Especially when you can't persuade the debugger to break ONLY in the thread(s) that you want to debug.
  10. Lars Fosdal

    Asynchronous Programming Library

    I am about to embark on learning IBM Cloud Pak for Integration - which is a low code solution for API development. The low code bit is a buzzword, because you are looking at learning and applying a lot of ESQL to achieve what you want. It feels like early VB / Delphi in a way - only with a worse UI.
  11. In that case, I would have created a worker thread (or threads) that have a private RIO, work in, work out queues, and a default heartbeat ping loop method that is called when the work in queue is empty .
  12. I am curious - why would you not create it when you need it? I checked our code, and we typically create on demand per thread.
  13. Lars Fosdal

    Missing Buttons

    When it fails, does it always fail (on that machine)? Is there any red thread such as OS version and patch level, display driver, etc between the machines that fail?
  14. As long as the RIO is used only by one thread at a time, that would work fine.
  15. Lars Fosdal

    Exception classes implementing interfaces

    In that simple case, it is not more clear.
  16. I moved it to the more appropriate group..
  17. Give me written articles over video any time! If the article is shit, you can spot it in seconds, but I've wasted too many hours watching videos while hoping there will be something useful in there.
  18. Lars Fosdal

    GDI object leak and overflow when TImageList is on a frame

    Technical Debt and Legacy - an endless source of work 🙂
  19. Lars Fosdal

    GDI object leak and overflow when TImageList is on a frame

    Not that it has any bearing on this problem, but I keep my shared image lists in a data module
  20. Lars Fosdal

    Exception classes implementing interfaces

    Valid point. Some of my exception handlers deal with specific exception(s), as well as shared handling code. Hence I write it the way that I do for clarity. An exception is already costly AF - so code efficiency is not a big deal.
  21. Lars Fosdal

    Search Filter for GExperts ToDoList added

    Those are obsolete pages, but they do show the 2007 installers if you pick The current download page is: https://my.embarcadero.com/#downloadsPage and mine shows RAD Studio 2007 ISO as well as Delphi 7 Professional
  22. Lars Fosdal

    Exception classes implementing interfaces

    With EurekaLog, it is possible to capture and log EVERY exception before it is handled, so why bother with interfaces? We use inheritance, mostly to classify exceptions for a sub-domain. Exception - ParsingException - InvalidCSV - InvalidEmptyField try Parse; except on E:Excepetion do if E is ParsingException then LogSomethingInformative else raise. end;
  23. Lars Fosdal

    Unit testing for beginners

    Any problem can be expanded into something insurmountable if one so likes. But, if you apply the KISS and Pareto rules- you can at least start out with a less complicated scenario.
  24. Lars Fosdal

    Unit testing for beginners

    Pretty much. Add corner cases as they happen.
  25. Lars Fosdal

    Unit testing for beginners

    Just from the top of my head... 3 + -3 3 + - 3 3 +- 3 - 3 + 3 -3+3 -3 + +3 How tolerant do you want the parser to be? I wrote a parser that did math on arrays in a stock price technical analysis tool back in the 90's. I built the parser so that it generated an expression tree, so the same calculation could be done rapidly on a number of data points. I could multiply a stock price with a currency price and subtract the adjusted value from the Oslo exchange with the same listed stock on NYSE. Good fun!
×