Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Fr0sT.Brutal last won the day on November 13

Fr0sT.Brutal had the most liked content!

Community Reputation

30 Excellent

Technical Information

  • Delphi-Version
    Delphi XE2

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Fr0sT.Brutal

    Cross-platform solution to forcefully end a thread

    What if CallStuffThatMightBlockForever never returns?
  2. Fr0sT.Brutal

    DUnitX and testing MemoryLeaks

    @Vincent Parrett lol now when you mentioned a console project I noticed the bunch of DUnitXTest_*.dpr files :D. I've really overlooked them thinking it's just packages or similar. Is it really necessary having a specific project file for each compiler version?
  3. Fr0sT.Brutal

    How to manage defined list values

    Yup, my mistake. Codeinsight doesn't show arrays, even constant ones.
  4. Fr0sT.Brutal

    Extend Delphi 10.3 Code Editor

    You can start from examining available OTA interfaces for necessary events and methods. Anyway the code editor is just a Windows' window (heh) so it probably supports standard WM_*/EM_* messages
  5. Huh, ICU lib contains pretty much more than 100 files and that is even not considering data, only the code! Of course ICU is global but proper int-tion isn't piece a cake O___O Wow, so weird! Didn't know that.
  6. Fr0sT.Brutal

    DUnitX and testing MemoryLeaks

    FastMM reporting was only one of the options, I also said that DUnitX's mem leak feature uses FastMM facilities. Probably I expressed my point a bit unclear. By "Test project" I referred to DUnitX's self-test project. It has some minor glitches that make it uncompilable (in uses clause). Probably these are leftovers from an old times. Surely there was no offense intention, the project is great (and, what's very important, alive).
  7. Fr0sT.Brutal

    How to compare msXML nodes

    Hmm, I'm a bit confused. Do you have two XML's written by two processes? Then I don't get how you could check if a node is "the same". For comparing results you'll have to compare node contents You could assign ID's in runtime only.
  8. Fr0sT.Brutal

    How to manage defined list values

    Sure he could but pre-defined enums and consts benefit from compiler-controlled item names and CodeInsight showing const values in code editor
  9. Fr0sT.Brutal

    How to manage defined list values

    Well, you can define lots of overloaded functions like EnumDefValue, EnumCaption etc for now and implement them in any form. Later, if you find a structure you like more, you won't have to change the interface, only the internal implementation. Or, if you decide to switch to enum helpers, perform replace in files with regexp-s ( EnumDefValue\((.+?)\) => \1.DefValue )
  10. Fr0sT.Brutal

    How to manage defined list values

    For such big numbers you can have all the data in any convenient form (CSV, JSON, XML) and write a tool that would generate a unit from this data.
  11. Fr0sT.Brutal

    DUnitX and testing MemoryLeaks

    I suspect you have to use FastMM as well, check DUnitX.MemoryLeakMonitor.FastMM4.pas. Anyway the devs seem not using test project at all, it is even not compilable in current state. Btw, FastMM has its own pretty useful leak report
  12. Yeeah, when you move from English-only to multi-language, these 100 lines will turn into 100 files xD
  13. Fr0sT.Brutal

    How to manage defined list values

    I prefer the 1st. But keep in mind that most of hard-coded constants could require changing to run-time assignments if you want multi-language support
  14. Fr0sT.Brutal

    How to compare msXML nodes

    First could you be more precise what nodes would you consider "equal" and what you're able to do with the loaded document. In the very general case, without preliminary marking all nodes with unique ID you can't tell if two random pointers point to the same node object.
  15. TStringList first reads whole file to a buffer, recodes it to string and then splits it up to lines. While it's the simplest method, it could consume damn much memory (up to 5*FileSize when reading one-byte encoding). So for large sizes one usually prefers some custom read/split implementation