Jump to content

EugeneK

Members
  • Content Count

    97
  • Joined

  • Last visited

  • Days Won

    1

EugeneK last won the day on October 10 2024

EugeneK had the most liked content!

Community Reputation

22 Excellent

Technical Information

  • Delphi-Version
    Delphi 12 Athens

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. But this is simply not true because managed records can be used for generics restricted to records in 12.2 and before. I had a lot of code broken because of this change that worked perfectly fine.
  2. Can anyone explain rationale why the suddenly change this and closed my ticket about this as by design? https://embt.atlassian.net/servicedesk/customer/portal/1/RSS-3043 This pisses me off they they randomly change compiler behaviour and not even in major version. And don't provide any explanation.
  3. Yes I'll probably use it as a workaround, but that kind of defeats the purpose
  4. Happens when record field has an attribute unit UTestGenericsBug; interface uses System.Rtti, Data.DB; type DBField = class(TCustomAttribute) strict private FFieldType: TFieldType; FLength: Integer; public constructor Create(const AFieldType: TFieldType = ftUnknown; const ALength: Integer = 0); property FieldType: TFieldType read FFieldType; property Length: Integer read FLength; end; TTestRecord = record private [DBField(ftString, 20)] FTerminalName: string; public end; TRecordLoader<T: record> = class sealed class function Get: T; static; end; implementation constructor DBField.Create(const AFieldType: TFieldType = ftUnknown; const ALength: Integer = 0); begin end; class function TRecordLoader<T>.Get: T; begin Result := Default(T); end; function Get: TTestRecord; begin // error here Result := TRecordLoader<TTestRecord>.Get; end; end. 😒
  5. Hi Anyone else have this error in 12.3 [dcc32 Error] Type parameter 'T' must be a non-nullable value type Works fine in 12.2, trying to isolate it now, seems to work in some places but not the others.
  6. EugeneK

    Add keylog callback functions

    Yes, for Wireshark, in next release OpenSSL adds logging directly in the library, but you need to configure it at build time, with these callbacks you can log it with regular build
  7. Hi It would be nice to add keylog callback functions to OpenSSL interface, https://docs.openssl.org/master/man3/SSL_CTX_set_keylog_callback/ OverbyteIcsSSLEAY.pas.patch
  8. You can check System.Diagnostics.TStopWatch it is cross platform and high-precision
  9. Hi Some protocols require Sec-WebSocket-Protocol header to be set when connecting, I made a patch to allow it in OverbyteIcsWebSocketCli.pas OverbyteIcsWebSocketCli.pas.patch
  10. EugeneK

    Namespaces in Spring4d code

    Also it forces unified style across all the code and improves readability.
  11. EugeneK

    Namespaces in Spring4d code

    In my projects I don't have anything in 'Unit Scope names' and 'Unit aliases', so it won't compile if I just add it as is. All other 3rdparty libraries that I use have it, so I don't want to add it back.
  12. Hi Is there any chance that namespaces will be added in Spring4d code? e.g. System.SysUtils instead of SysUtils
  13. EugeneK

    FmxLinux and GTK

    Thank you! that was the problem.
  14. EugeneK

    FmxLinux and GTK

    Yes, but it fails during build, not when deploying, so I don't think it matters. It have to be somewhere on Windows machine
  15. EugeneK

    FmxLinux and GTK

    Hi I'm trying to use FmxLinux in Delphi 12.2 and deploying to WSL, all samples work apart from GtkWindow, it has following code procedure gtk_window_set_title(window: Pointer; title: PUtf8Char); cdecl; external 'libgtk-3.so.0'; function gtk_widget_get_window(widget: Pointer): Pointer; cdecl; external 'libgtk-3.so.0'; procedure gdk_window_process_updates(window: Pointer; update_children: Boolean); cdecl; external 'libgdk-3.so.0'; and fails with this error when building [DCC Error] E2597 C:\Program Files (x86)\Embarcadero\Studio\23.0\bin\ld-linux.exe: error: cannot find -lgdk-3 C:\Program Files (x86)\Embarcadero\Studio\23.0\bin\ld-linux.exe: error: cannot find -lgtk-3 How can I make Delphi find these libraries?
×