Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 10/09/20 in all areas

  1. dummzeuch

    Delphi 10.4.1 upgrade

    Having a unit called "utils" in the GetIt package is not really a bright idea by Embarcadero. At least they could have prefixed it as getit.utils.
  2. Fun fact: some years ago someone (not me, not Andreas) achieved being able to inherit record helpers by simply patching one flag in the compiler. đŸ˜‰ I am just saying this to emphasize that its not some technical limitation but simply the compiler does not allow it when it sees "record helper" but does when its "class helper" as otherwise its the same code.
  3. Inheritance would not be the ideal solution. That would make it impossible for two distinct libraries to extend the same type. I don't understand what is hard about having multiple helpers active and searching through them, most recently declared first.
  4. No but I consider what state of the art hardware likes and what it does not like which sometimes varies from what people learned 20 years ago. Big O is about scaling of an algorithm - not about absolute speed. You can have an O(1) algo being stomped by some O(n) simply because you only ever have that much data that the constant factor in the O(1) still makes it slower than the O(n). The constant factor can be influenced by either additional computations (such as hashing) or simply because you have to do stuff that is more expensive hardware wise (such as memory allocation or memory indirections). That is why for example the fastest general purpose sorting algorithms out there are hybrid sorting algorithms combining the best sorting algorithms for particular parts of the to be sorted data (such as introsort or timsort) with timsort even being optimized on realistic data appearance such as already, almost or reverse sorted. Having said so imo pondering over that stuff is only important for certain areas of software development such as core library developers or if you roll your own data types and algorithm implementations. Here is another thing about the "stuff that modern hardware loves" argument. Interesting part starts around 24:00 with all the theory and is followed by two mind blowing examples at around 41:00:
  5. Developer Machines pleased to announce that the first beta version of the new FireDocking 1.0 beta 1 component for Delphi Firemonkey has been released. In the current preview version, the following features of docked panels are implemented, which will be included in the final version: the ability to detach the panel and make it floating on the screen, or hide the panels along the edges of the form and make them as the Auto-Hide panels. Support for double click at the panel's title bar (detach the panel or return it to the memorized place). Split pane containers and tabbed pane containers support without restrictions. The component supports the ability to hide the central docking area, thereby providing the concept - dock anywhere. The component supports any themes and styles that come with Delphi RAD Studio. FireDocking can be deployed to any FMX.TControl inside the app. One application can have several independent docking frameworks deployed on a different FMX.TControl if needed. Also presented is a simple design-time package for Delphi IDE, which allows you put on the docking manager onto the FMX form. Note, the current version does not contain the following features that will be included into the final version - the ability to save and restore docking layout to/from XML file and MacOS support. You can download a preview beta version here - FireDockingInstaller1.0.0b1_RAD_Sydney_10.4Trial.exe P.S. The implementation of the component structure is made on the basis of our other docking component for Qt.C++ - QtitanDocking. However, FireDocking is a complex FMX component developed entirely in Delphi-Pascal. Sincerely, Developer Machines https://www.devmachines.com
  6. https://www.quantamagazine.org/computer-scientists-break-traveling-salesperson-record-20201008/
  7. Javier TarĂ­

    Migration from BDE paradox to TFDtable or other options

    A truly good advice: followed it and my application is now running smoothly on NexusDB, with almost no changes at all As I don't use the native components, but descendants wrapping Ttable, TDatabase, and so on, the changes needed to substitute BDE for NexusDB have been made only in that unit
  8. @Edwin Yip The article you linked to is my blog, not Erics đŸ˜‰ Yes, it also suffers from that however the types in that library are way smaller and have only limited functionality of just storing stuff, no rich IEnumerable API such as Spring4D. That makes the binary overhead very very small or even non existing. What I observed though is that they are no general purpose collection classes but obviously tailored for some specific needs - you cannot use TsgList<T> for any type as it is very limited as what it handles (only non managed types). I also did not do a in depth performance comparison but just adding some Integers to a list was 3-4 times slower than in my latest Spring4D build (which is a faster than the RTL). If you watch the video by Herb Sutter I linked in the other thread I even wonder why someone coming from C++ would need to create some list type as he could just use TArray<T> because he should have used Vector<T> in C++.
  9. Angus Robertson

    Trying to move from SslContext to ICSHosts

    There is a new ICS Multi Host FTP Server sample using IcsHosts in the overnight zip, really designed to be a Windows service application. It supports multiple SSL hosts with multiple listeners, can order it's own SSL certificates and will create self signed certificates for any missing, and will email status information and errors to an administrator. Angus
  10. Which is funny, given that the syntax for helpers actually supports inheritance, but Delphi allows it only in class helpers, not in type/record helpers. FreePascal proves inheritance can work in all three kinds of helpers (just not in Delphi mode, for compatibility reasons).
  11. Dave Nottage

    iOS libcrypto.a, libssl.a

    Sorry, I remember now that I did not obtain them from there. Trouble is: I cannot remember exactly where I obtained them, however I've now added them here: https://github.com/DelphiWorlds/Kastri/tree/master/ThirdParty/OpenSSL/1.0.2o/iOS
Ă—