Jump to content

EugeneK

Members
  • Content Count

    103
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by EugeneK

  1. EugeneK

    Azure Relay

    Hi Does anyone have example of working with Azure Relay in Delphi?
  2. EugeneK

    Azure Relay

    Looks like there is commercial solution that implements AMQP 1.0, https://www.esegece.com/websockets/protocols/amqp/amqp-1-0-0 I wonder if anyone tried it?
  3. EugeneK

    Azure Relay

    It seems to be for AMQP v0.9.1, there is Delphi implementation for it here https://github.com/felipecaputo/delphi-amqp
  4. EugeneK

    Azure Relay

    No, I'm trying to reverse engineer it. It uses AMQP 1.0 over WebSockets
  5. In Dalija Prasnikar's smart pointer unit here https://github.com/dalijap/code-delphi-mm/blob/master/Part5/SmartPointer/uSmartPtr.pas#L8 following code is used ISmartPointer<T> = reference to function: T; TSmartPointer<T: class, constructor> = class(TInterfacedObject, ISmartPointer<T>) basically anonymous method declaration is equivalent to interface. Is it documented somewhere? I tried looking at Interfaces and Anonymous method sections in documentation but can't find anything.
  6. Hi Does my.embarcadero.com works for anyone right now? Cannot login to it.
  7. EugeneK

    my.embarcadero.com down?

    Yes getIt was down, it hanged IDE when I tried to open it, I killed IDE from taskmanager and it somehow completely deleted my license, so now I can't use IDE at all, and can't login to the portal to get my license number.
  8. 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.
  9. EugeneK

    formatting private const identifier = value

    I think more consistent with Embarcadero style will be following, since there could be multiple consts/types/vars TClass = class(TObject) private FSomeField: integer; private const SomeConstant = 5; SomeOtherConstant = 6; private type SomeType = integer; SomeOtheType = string; private class var SomeClassVar: integer; SomeOtherClassVar: string; end;
  10. 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.
  11. 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.
  12. Yes I'll probably use it as a workaround, but that kind of defeats the purpose
  13. 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. 😒
  14. 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
  15. 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
  16. You can check System.Diagnostics.TStopWatch it is cross platform and high-precision
  17. 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
  18. Hi Is there any chance that namespaces will be added in Spring4d code? e.g. System.SysUtils instead of SysUtils
  19. EugeneK

    Namespaces in Spring4d code

    Also it forces unified style across all the code and improves readability.
  20. 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.
  21. 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?
  22. EugeneK

    FmxLinux and GTK

    Thank you! that was the problem.
  23. 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
  24. I think first priority should be Windows on ARM support
  25. EugeneK

    Adding basic AWS S3 operations to Delphi app

    Delphi has integrated libraries for this, see https://docwiki.embarcadero.com/Libraries/Athens/en/Data.Cloud.AmazonAPI
×
OSZAR »