Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 12/31/20 in all areas

  1. Now the download works for all content types, thanks again, great book. I'm using async, event and message based approach for some years now very successfully. Its good to have such a summary, where you pointed out some general pitfalls and the basic foundation for reactive apps in general. I like the "incorrect/correct code" approach in your book, which make it much more readable and comparable to me. Please take a good rest over the current holidays, to get some new ideas and regain energy. Since I hope to see many more of such books from you in the next year
  2. Der schöne Günther

    Range Check Error - what actually happens

    As far as I understand the documentation Range checking - RAD Studio (embarcadero.com), enabling range checks adds additional code around every array access. If that is not the case, then a write beyond the arrays end can silently succeed, but corrupt memory. People Wizards who understand assembly code can probably identify the additional code added by the compiler.
  3. Angus Robertson

    Lookup for "localhost" takes 2 seconds

    If this application is for wider use, you need to make sure IPv6 is enabled on the PC, otherwise the binding will fail. Many people disable IPv6 to quickly solve problems rather than fixing them properly. Angus
  4. Der schöne Günther

    Lookup for "localhost" takes 2 seconds

    That did the trick, thank you! Time taken for http://127.0.0.1: 28 ms Time taken for http://localhost/: 6 ms Time taken for http://localhost/: 5 ms I hope I did that binding stuff correctly: constructor TServerClientTest.Create(); var binding: TIdSocketHandle; begin inherited Create(); server := TIdHTTPServer.Create(nil); binding := server.Bindings.Add(); binding.Port := 80; binding.IPVersion := TIdIpVersion.Id_IPv4; binding.IP := '127.0.0.1'; binding := server.Bindings.Add(); binding.Port := 80; binding.IPVersion := TIdIPVersion.Id_IPv6; binding.IP := '::1'; server.OnCommandGet := handleServer; client := THTTPClient.Create(); end;
  5. Angus Robertson

    Lookup for "localhost" takes 2 seconds

    If your PC supports IPv6, using localhost will try both IPv6 and IPv4, so best to have your server listening on both 127.0.0.1 and ::1. I recently changed the ICS TSimpleWebServer to do exactly this, for this reason. You may think you can ignore IPv6, but life is not that simple for developers. Angus
  6. aehimself

    Unfixed bug in Sydney

    Strongly disagree. 10.4.1 is a lot more useable on our large project at work than any previous version was. Sure, it's far away from perfect, but it does not mean it's a "black hole". Tbh I was already shocked that inline variables will be added to the language. Was it community requested? Majority of the coders are staying away from it as far as I heard.
  7. TStringHelper.Compare has an overload where you can give the option TCompareOption.coDigitAsNumbers for this purpose.
×