Jump to content

Kryvich

Members
  • Content Count

    279
  • Joined

  • Last visited

  • Days Won

    8

Everything posted by Kryvich

  1. I would like to see in some future version of Delphi: Iif operator - a magic function to write compact and effective statements of any type. Class contracts ("require", "ensure" clauses, https://www.elementscompiler.com/elements/oxygene/language.aspx) Nullable types and ":" operator, https://www.elementscompiler.com/elements/oxygene/language.aspx#colonoperator . "await" and "async" clauses for smooth multithreading.
  2. If the topic starter get a new license of CE after every incident than OK, it's possible.
  3. I have never seen a crash of my 10.3.3 CE. But I program Win 32-bit VCL mostly in it. IDE Fix Pack is installed. It's impossible. 1 year is the maximum license term for CE license.
  4. Kryvich

    10.4 Beta with Update Subscription

    @Georgge Bakh Traditions...
  5. Kryvich

    10.4 Beta with Update Subscription

    Delphi Language Server Protocol for Delphi (!) Language Enhancements: Managed Records (after 1.5 years of waiting...) Unified memory management across all platforms (!)
  6. Of course HTTPServer should be "generalized" to let use it in such way.
  7. @aehimself Or using generics: TMyApplication2<T: TBaseEncoder> = class strict private _myencoder: TBaseEncoder; public constructor Create; end; constructor TMyApplication2<T>.Create; begin inherited Create; _myencoder := TBaseEncoderClass(T).Create; end; begin var MyApp1 := TMyApplication2<TBaseEncoder>.Create; Writeln(MyApp1.ClassName); var MyApp2 := TMyApplication2<TEncoderV3>.Create; Writeln(MyApp2.ClassName); end.
  8. Any modern CPU has SHA extensions - set of instructions that accelerate the Secure Hash Algorithms. Do you know any implementation of SHA in Delphi, which uses these extensions?
  9. Kryvich

    SHA Extensions and Delphi

    @Tommi Prami Yes, this code uses SHA Extensions. I think it's possible to convert it to a Delphi asm procedure. https://github.com/minio/sha256-simd/blob/master/sha256blockSha_amd64.s
  10. Kryvich

    SHA Extensions and Delphi

    I do not see SHA instructions in this assembler code. The author writes that he tested his implementations on Intel Core 2 Quad Q6600 processor. This processor does not support SHA extensions.
  11. Kryvich

    fmx.graphics in Linux .so (using Delphi 10.3)

    Yes, I can call my DLL function, no error. Library source code: library DllWithFmx; uses System.SysUtils, System.Classes, FMX.Graphics; {$R *.res} function TestDll: Integer; stdcall; begin Result := Integer(TFontWeight.Semibold); end; exports TestDll; begin end. Console app that use the DLL (the static linking is used): program DllUse; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils; function TestDll: Integer; stdcall; external 'DllWithFmx.dll'; var i: Integer; begin i := TestDll; Writeln(i); Readln; end.
  12. Kryvich

    Android hdd serial number

    Have you obtain an Android phone with HDD? )
  13. Kryvich

    Quality central down

    Use Google Public DNS.
  14. +1 for @Dany Marmur except for specially optimized and proven to be good functions/units.
  15. Kryvich

    Quality central down

    Works for me now.
  16. Kryvich

    fmx.graphics in Linux .so (using Delphi 10.3)

    Sorry can't help, Delphi CE here, no Linux compiler. I tried creating a DLL that uses FMX.Graphics unit. No problem in Windows 10.
  17. Kryvich

    Delphi 10.3.3 - Indy from 0ba2688b Git "Hello World"

    I think I know why you get the exception. Put this code to the FormCloseQuery: if IdTCPServer1.Active then begin IdTCPServer1.Active := False; IdTCPClient1.Disconnect; end; You'll get the exception. Then swap the lines: IdTCPClient1.Disconnect; IdTCPServer1.Active := False; No exception.
  18. Kryvich

    Delphi 10.3.3 - Indy from 0ba2688b Git "Hello World"

    If I put a breakpoint to the line TThread.Queue(...) it gets hit twice on every button press. I think it's how the debugger works. I've added a counter and there is no any missed clicks. And no error messages on exit. procedure TForm1.Button1Click(Sender: TObject); begin if not IdTCPServer1.Active then begin IdTCPServer1.Active := True; IdTCPClient1.Connect; end; Inc(ClickCount); IdTCPClient1.IOHandler.WriteLn(Format('Hello, world. Click #%d.', [ClickCount])); end; procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin if IdTCPServer1.Active then IdTCPClient1.Disconnect; end; procedure TForm1.IdTCPServer1Execute(AContext: TIdContext); var s: string; begin s := AContext.Binding.PeerIP + ': ' + AContext.Connection.IOHandler.ReadLn; TThread.Queue(nil, procedure begin Memo1.Lines.Add(s) end); end;
  19. Kryvich

    Delphi 10.3.3 - Indy from 0ba2688b Git "Hello World"

    No, there is no deadlock here.
  20. Kryvich

    Delphi 10.3.3 - Indy from 0ba2688b Git "Hello World"

    No problem here with Indy components included in Delphi 10.3.3 package. Just change Button1Click as follows: if not IdTCPServer1.Active then begin IdTCPServer1.Active := True; IdTCPClient1.Connect; end; IdTCPClient1.IOHandler.WriteLn('Hello, world'); I did not find projects IndyCore260, IndyProtocols260 etc. for the new Delphi 10.3.3 in the library on GitHub.
  21. I think, it's a bug in the TStrings visualizer, not in the code itself. Your program should work correctly both in Windows and Android. Nevertheless, I suggest use TBytes for byte manipulation instead of UTF8String. See "Delphi in a Unicode World" by Nick Hodges, Chapter "USING STRINGS AS DATA BUFFERS".
  22. Yes, it can. Although non-monospaced fonts look ugly in Lazarus. IDE tries to preserve columns in the editor.
  23. Interestingly, Lazarus can use this font in the editor.
  24. Kryvich

    RAD Studio 10.3.3 now available

    BTW do you see circles next to the file names in tabs of modified files in IDE?
×