Jump to content

Fr0sT.Brutal

Members
  • Content Count

    2268
  • Joined

  • Last visited

  • Days Won

    46

Everything posted by Fr0sT.Brutal

  1. Fr0sT.Brutal

    Current VCLZip?

    https://github.com/Fr0sT-Brutal/awesome-pascal#compression 😉
  2. I too came to this solution and changed almost all "[1]" occurrences in my projects
  3. Fr0sT.Brutal

    EULA declined installing 11.1 with Network Named license

    Unless OpenSSL abandons W7, missing OS support of TLS1.3 is quite insignificant IMHO. Probably only actual for C# apps that use TLS layer provided by OS. P.S. I still use W7 as my main dev machine. I really dislike some dumb limitations of new flat UI (nonconfigurable 1-pixel-wide window borders on hi-res display and a touchpad?! Come on MS are you kidding?)
  4. Fr0sT.Brutal

    ZipMaster 1.9x with my minor fixes

    There are some other zip implementations in my awesome list. I'm happy with FWZip, however I only needed very basic actions
  5. Yes. The only solution is to start the enum from 0 (why using 1 as starting value?)
  6. Fr0sT.Brutal

    Is Move the fastest way to copy memory?

    @Stefan Glienke I must have expressed a bit unclearly. By "Move" I meant any implementation not only the RTL one.
  7. Fr0sT.Brutal

    How add a code editor

    Scintilla.
  8. Fr0sT.Brutal

    Delphi 10.4.1 Socket Error on IDE Start

    Embarcaderassing
  9. Fr0sT.Brutal

    Edit dataset results

    Huh, I was struggling the same task these days. In general (IDK about ClientDS particularity) the scheme for datasets is: - Copy FieldDefs from source dataset (or get them from DB if connected directly) - here ReadOnly appears - Create Fields based on Defs - here the field gets ReadOnly flag - Copy data values In theory, you can plug between #1 and #2 to modify Defs. In practice, it depends on how the component is written. It could skip buffer allocation for modified values so the changes won't be saved. In my case I tried many things to add modifiable custom field to ADO query but was fed up and used memory dataset (which I also had to update for things to work)
  10. What else could be said for post of "I have a problem pls solve it completely for me" kind? If the one who needs solution does zero for the problem, why someone else should do more?
  11. Fr0sT.Brutal

    .NET kill the Delphi IDE

    Try DelphiDistiller
  12. Fr0sT.Brutal

    Indy & OpenSSL 1.1.1 & TLS 1.3

    They made x-platform sockets and http clients that use system facilities for TLS so the most requirements are covered. Even Go and Node don't provide much more
  13. Fr0sT.Brutal

    INI problem

    That's nonsense. Nobody forbids you to install a software where you like (as long as it's good software; MSVS is NOT). Obviously any location other than PF should be protected by an admin or left as is accepting all the risks.
  14. Fr0sT.Brutal

    Is Move the fastest way to copy memory?

    FastMM has optimized Move routines as well. While generic Move is pretty fast, it can't squeeze the maximum because of generosity. The best perf could be achieved with specially prepared memory blocks - aligned, non-overlapping, not locked. FastMM has some specific Move's optimized for specific blocks
  15. Fr0sT.Brutal

    INI problem

    Pretty smart! File redirect is like Git-config's include but pulling specific sections is a more powerful feature. This is good but requires an account for each user. Moreover, in theory there could be some settings that affect pre-connect state
  16. Fr0sT.Brutal

    INI problem

    Classic holy war "self-contained bundle aka portable vs scattered installation according to OS rules". I prefer the first. Ideally both options should be available to have to choose from
  17. Fr0sT.Brutal

    Strange Benchmark Results; Am I Missing Something?

    That's because 64-bit operations for x32 occupy 2 registers. More or less simple with addition, terrible with division. However, speedup with 32-bit num is unexpected.
  18. Yep, this generic approach is OK, however it includes managed record (which pulls hidden finally section with it) and creation of new record for every comparison. Depending on usage scenario this could slow things down. I suppose if creation of a short string was critical, any little detail could also matter. BTW, Mark, ensure your dictionary check routine has no hidden finally section (set breakpoint to the final "end" of the method, wait for break, open ASM view and look for "handlefinally"). It could significantly reduce performance on frequently called functions so should be removed where possible.
  19. Suspended creation is Windows feature that they reflected 1:1 to class API but other OS's do not provide it so they had to imitate it via mutexes.
  20. it's a hash table so the string is only needed for computing the hash. Probably you can compute the hash by yourself and provide it to class method. Hash is computed by FComparer.GetHashCode(Key) that you can provide in C-tor if TDict. However, you'll have to define your own TKey instead of string (record with pointer to 1st char and length perhaps) and hashing method. Or, you can use string hashes as keys and search like this FTokenDictionary.TryGetValue(HashFromPChar(FTokenStart, FTokenLength), Result)
  21. Fr0sT.Brutal

    Build a Windows GUI shell in Delphi (CarPC)?

    Replacing shell is quite common operation, back in XP days it was pretty popular ("Aston shell" IIRC). All Win-based terminals still use this "kiosk mode". However, I doubt the launcher will be the most complicated task - adaptation of apps will. So for the start I think usual explorer and shortcuts will be enough
  22. Fr0sT.Brutal

    CPas - C for Delphi

    For me the most promising feature is the ability to link C libs statically. I'd love to have self-contained Delphi EXEs with OpenSSL, for example.
  23. Launch bg thread with message pump. Look for demo example named "...IcsThreadDemo" or smth alike
  24. Fr0sT.Brutal

    Chain of two HttpProxyServer servers

    More likely firewall blocks your custom app but allows built-in telnet
  25. Fr0sT.Brutal

    Chain of two HttpProxyServer servers

    You should investigate at what exact phase the error occurs. Connection to host:port? Sending request? Receiving request? Processing request?
×