Jump to content

Fr0sT.Brutal

Members
  • Content Count

    2268
  • Joined

  • Last visited

  • Days Won

    46

Everything posted by Fr0sT.Brutal

  1. Fr0sT.Brutal

    Android Mobile application using Firemonkey

    i wonder what's the meaning of that screen containing only the picture of a house with $ sign inside? It has 0.0 useful info IMHO
  2. Fr0sT.Brutal

    Running commandline app and capturing output

    Wouldn't this block at 2nd iteration ?
  3. Fr0sT.Brutal

    class designation question

    Metaclasses are necessary when base Class1 is doing some things with Class2 or its descendants including creation. So you can either define virtual method CreateObj: TClass2 and override it (but that would require Class1 descendant) or just assign "class of TClass2" property.
  4. Fr0sT.Brutal

    Tool to fix up uses clause unit namespaces?

    What is not reliable enough in simple text replace?
  5. For any project that is bigger than 200 lines (and allows non-stock dependencies) I use full version.
  6. In brief: to really reliably check whether a socket is alive, you should implement keep-alive (ping-pong) mechanism. OTOH, probably you don't need to know alive status at all, just control result of R/W functions.
  7. Just compare getmem.inc with FastMM4.pas and see differences...
  8. Fr0sT.Brutal

    SHA Extensions and Delphi

    As I've read yesterday, author of 7zip implemented these functions in recent version so you can take a look. True security paranoids won't rely on closed source algorithm implementations though
  9. AFAIK this set of socket functions is identical in Win and Nix (both from Berkeley sockets). I'm curious, what do you do by recv() with length=-1?
  10. Fr0sT.Brutal

    What are your compiler settings for debug builds?

    I hate this in Android. Just an "Application has been closed" message or even worse, it just silently shuts down and you sit there like a cave man trying to handle a magic box, calling for gods' mercy to make the spirit of that magic box obey. Anyway there are different errors. Some of them shouldn't be ignored (memory corruption), some should be handled carefully (critical crash in processing but save user's data before shutdown) and some could be ignored. I always use range/overflow checking because little slowdown is better than buffer overrun vulnerability that could lead to malicious code execution, data leakage or app's hard crash - all these things we love in C/C++ apps *sarcasm*
  11. Fr0sT.Brutal

    SSL Hand shake Error on TSslHttpRest

    Probably https://www.ssllabs.com/ssltest/analyze.html could help
  12. Fr0sT.Brutal

    How to disable automatic adding of units to interface-uses

    The feature is unlikely could be disabled but you could try to cheat it. Just create empty unit FireDAC.FMXUI.Wait.pas inside your project's folder.
  13. I wrote Utf8toWide function that is able to process chunks of any size. If someone needs it, I could publish it.
  14. Fr0sT.Brutal

    TIdSSLIOHandlerSocketOpenSSL and TLS 1.3 ?

    Why so complicated, why don't simply create pull request on Github?
  15. Fr0sT.Brutal

    Memory Management with many objects

    Btw, keep in mind that trivial TStrings.LoadFromStream for ASCII-encoded files eats up to 5x of file size at some moment. And 2x piece of that 5x must be allocated in a whole (so with fragmented memory and insufficient swap file it could fail even with ~500 MB)
  16. Fr0sT.Brutal

    Memory Management with many objects

    I'd recommend to check if such memory consumption is expected. Then you can use FastMM's debug facilities to check allocated items, their exact size, types and many other details.
  17. Fr0sT.Brutal

    SFTP and SSLFTP Are they the same?

    Moreover, there's implicit FTPS (just like HTTPS compared to HTTP - TLS from the very beginning using special port) and explicit (usual plain text FTP on usual port but initiates TLS after AUTH TLS command). Dunno why but the former is considered obsolete though it's somewhat simpler to implement.
  18. Fr0sT.Brutal

    Scheduled tasks at system time

    I suspect this is just an interface to scheduler service, so probably not an option for various reasons
  19. Fr0sT.Brutal

    Scheduled tasks at system time

    Do you mean some API functions or taskschd.msc?
  20. Fr0sT.Brutal

    Scheduled tasks at system time

    I did exactly the same for mine xD
  21. Fr0sT.Brutal

    Stable remote control using Indy TCP/IP

    How do you imagine that notification with blocking sockets where you usually do a loop until recv or send returns -1? Even select won't tell whether connection has been reset.
  22. Fr0sT.Brutal

    Scheduled tasks at system time

    None except that code snippet but it's trivial. For x-platform you can use System.SyncObjs.TEvent.WaitFor. I couldn't find x-platform method to wait for multiple objects so to cancel the wait you'll have to reset each waitable object (so you'll have to keep a list of them... code becomes less and less short & trivial 🙂 )
  23. Fr0sT.Brutal

    Stable remote control using Indy TCP/IP

    How can you observe the disconnect on blocking sockets unless you try to read/write?
  24. Fr0sT.Brutal

    Scheduled tasks at system time

    I've no experience with OTL but a primitive solution comes to mind - launch a task with wait ev := CreateEvent(...) if WaitForSingleObject (ev, ScheduledTime-CurrentTime) = WAIT_TIMEOUT then ... do something scheduled to be able to cancel the wait, additional waitable object will be required and WaitForMultipleObjects instead
  25. Fr0sT.Brutal

    PaxCompiler

    @Bob Devine I believe minimal set of FPC would satisfy all your needs while being alive and supportable. There's even a minimalistic TurboPascal-like IDE (fp.exe) and one more minimalistic graphic IDE MSEide Actually I was going to say "instead of compiling plugins". Of course nowadays almost all major script engines are JIT-ed to some bytecode, otherwise they won't be useful for any serious computations
×