

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 ExcellentTechnical Information
-
Delphi-Version
Delphi 12 Athens
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
[dcc32 Error] Type parameter 'T' must be a non-nullable value type
EugeneK replied to EugeneK's topic in RTL and Delphi Object Pascal
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. -
[dcc32 Error] Type parameter 'T' must be a non-nullable value type
EugeneK replied to EugeneK's topic in RTL and Delphi Object Pascal
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. -
[dcc32 Error] Type parameter 'T' must be a non-nullable value type
EugeneK replied to EugeneK's topic in RTL and Delphi Object Pascal
Yes I'll probably use it as a workaround, but that kind of defeats the purpose -
[dcc32 Error] Type parameter 'T' must be a non-nullable value type
EugeneK replied to EugeneK's topic in RTL and Delphi Object Pascal
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. 😒 -
[dcc32 Error] Type parameter 'T' must be a non-nullable value type
EugeneK posted a topic in RTL and Delphi Object Pascal
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. -
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
-
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
-
The status of "System.SysUtils.Now" timer resolution & accuracy
EugeneK replied to Rollo62's topic in RTL and Delphi Object Pascal
You can check System.Diagnostics.TStopWatch it is cross platform and high-precision -
Specifying Sec-WebSocket-Protocol for websocket connection
EugeneK posted a topic in ICS - Internet Component Suite
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 -
Also it forces unified style across all the code and improves readability.
-
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.
-
Hi Is there any chance that namespaces will be added in Spring4d code? e.g. System.SysUtils instead of SysUtils
-
Thank you! that was the problem.
-
Yes, but it fails during build, not when deploying, so I don't think it matters. It have to be somewhere on Windows machine
-
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?