Jump to content

TurboMagic

Members
  • Content Count

    235
  • Joined

  • Last visited

  • Days Won

    9

Posts posted by TurboMagic


  1. This is not relevant to my still not working UDP problem. I just tried to find that demo quicker by opening that project group and thought I report the errors popping up loading that group so they can be fixed eventually.

     

    Back to my problem:

    The demo you mentioned is a quite big and complex one and the component used in it is equally big.

    So I tried to go back to the simple pair of OverbyteIcsUdpSend and OverbyteIcsUdpLstn demos.

    Btw. at lease those two demos are set to release mode and thus have no debug info and breakpoints are disabled though.

    In my view it would make more sense to have debug mode and debug info on in the demos.


    The listen one does get a packet on the port it listens and it sends something back to the sender's port.
    I write that in a memo for logging now and the port number logged as LocalPort on the sending site is
    the same as on the receiving side.

     

    Now the only thing left is to receive something on the UDP sending socket. DataAvailable event is never called and
    if I tried to set up a 2nd socket as recommended by you that fails on Listen call because the port assigned, the LocalPort
    of the sending socket is of course already in use. But that is the port the sender will get the reply to his request, as that
    is the port number the receiver gets by receiving the request.

     

    I could try Remy's ReceiveFrom but that seems to be a synchronized/blocking call, which is of course not desired.

     

    So I'm a bit puzzled and think there must be some easier solution.

     

    Strange thing is, that the old code I'm trying to replace simply defined Addr as 255.255.255.255, set Port, set local address
    to the IP of the interface it was sending out the broadcast for (it looped through all interfaces on that PC), did a Connect
    on that socket and then received an answer in OnDataAvailable event. It has to be replaced because after sending I entered

    a loop calling Socket.MessagePump; for a certain time, which is of course no good and often crashes.

     

    Now the only thing in my new code is, that OnDataAvailable on the sending socket is never called but the receiver does a

    WSocket.SendTo(PSockAddr(@Src)^, SrcLen, @FWuT, SizeOf(FWuT)); in OnDataAvailable. And since I added this to your example
    Src is populated by ReceiveFrom and thus contains the correct data.

     

    :classic_huh: :classic_unsure:

     

    Hey, I just have found some solution now, but I don't think this is perfect.

    I just saw, that you are closing the sending socket in the sender demo in OnDataSent event.

    When I set up a 2nd socket directly after connect of the first I get the LocalPort but I don't
    do Listen yet.

     

    Now in OnDataSent I do close the sending socket and then do a Listen on the other one and
    in my example that one now receives OnDataAvailable and thus the data sent back by the receiver demo.


  2. Something else: when trying to open the Delphi\AllDemos project group (current ICS version from GetIt) I get some failures.
    One is: Failure reading SslSmtpTestForm -> Class TIcsRestEMail not found. The same class is not found for POP3ExcercizerForm and HttpRestForm.

    For IcsIsapiWebModule failures for properties do not exist  are shown for the following properties: ClientHeight, ClientWidth, Color, Font.Charset,
    Font.Color, Font.Height, Font.Style, PixelsPerInch, TextHeight.

    Are they known to you?


  3. If I should use a 2nd socket for listening, how would I set that up? Do a connect with the sending one first, so it can send as broadcast and in the OnSessionConnected create the 2nd socket so that it can listen on the port the sending one used?
    The party receiving and replying to my broadcast needs to send the answer to the port from which the broadcast message was sent, otherwise it wouldn't know where to send it to (and I don't have influence on how the other device does this anyway).


  4. 30 minutes ago, Angus Robertson said:

    Further to my original message about using SendTo, for broadcasting or multicasting you must also set property Addr to the broadcast address before calling Connect, otherwise the socket will not be opened with the correct SO_BROADCAST flag.   Send should also work, as used in various components and samples, but SendTo is required for UDP servers to reply to the source address, and works as well for clients.

     

    Angus

     

    Hm ok, but it looks like I don't yet understand 100% what I need to do to make it work.

    This is my code for setting up the socket:

     

      FWuTSocket.SocketFamily       := sfIPv4;
      FWuTSocket.Addr               := '255.255.255.255'; //ICS_ANY_HOST_V4; //'255.255.255.255';
      FWuTSocket.MultiCast          := FALSE;
      FWuTSocket.MultiCastAddrStr   := '';
      FWuTSocket.Proto              := 'udp';
      FWuTSocket.Port               := '0'; //cWuTUDPPort;
      FWuTSocket.LocalAddr          := '0.0.0.0';
      FWuTSocket.LocalPort          := '0';
      FWuTSocket.LineMode           := false;
      FWuTSocket.OnSessionConnected := OnWuTSearchSessionConnected;
      FWuTSocket.OnDataAvailable    := OnWuTSearchDataAvailable;
      FWuTSocket.OnSessionClosed    := OnWuTSearchSessionClosed;
    //  FWuTSocket.Connect;
      FWuTSocket.Listen;

    I thought I need to use listen instead of connect so I can receive data on that socket as well. But when I change Addr to the above 255.255.255.255 I get an

    "address not available" #10049  in listen: Bind error from Winsock...

     

    Now how to set up the socket properly to send via broadcast but listen for the answers as well?


  5. From this albeit German description here:

    https://helpdesk.ebertlang.com/kb/a507/winsock-fehlercode-beschreibung.aspx

    Ok, foun
    d the exact same description in English on a Microsoft site:

    https://docs.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2
     

    I take it that I should call this one:

    setsockopt(SO_BROADCAST)

     

    because I'm using SendTo in conjunction with a broadcast address.

    Any idea how I'd call this via ICS and if this is really a good idea?
     

    The other idea would be to use a variant of my old code which fetched a list of all network interfaces and looped through those
    and send the request on each one separately.

     

    TurboMagic


  6. Thanks so far, but I still don't properly manage this.
     

    In my application I try to send like this, but in the UDP listener demo nothing arrives and SentTo returns -1:

     

    procedure TDeviceSearch.OnWuTSearchSessionConnected(Sender: TObject; Error: Word);
    var
      Src    : TSockAddrIn;
      SrcLen : Integer;
      Data   : RawByteString;
    begin
      if (Error = 0) then
      begin    
        try
          SrcLen := SizeOf(TSockAddrIn);
          // I want to send to everybody I can reach (broadcast)
          Src.sin_addr.S_addr := WSocket_inet_addr('255.255.255.255');
          Src.sin_port := 1234;
          Src.sa_family := AF_INET;
    
          Data := 'Hallo?';
          // This posts -1 into my log. I'd expect 6 instead...
          log.Send('Bytes: ' + (Sender As TWSocket).SendTo(Src, SrcLen, @Data[low(Data)], Length(Data)).ToString);
        except
          On E:Exception do
            log.SendException'Failure in OnWuTSearchSessionConnected: ' + E.Message, E);
        end;
      end
      else
        log.Send('Failure in UDP handling: ' + Error.ToString);
    end;

    What am I making wrong/missing?


  7. I'm using D10.4.2 and current ICS from GetIt.

    I'd like to do the following thing but struggle and the demos I have found so far show only one part of the thing each but not how to combine both.

     

    I want to send something to an UDP device with unknown address, so I need to send as broadcast. Port is know. Any device listening on that port
    will send something defined back to me which I want to receive. Sending part already works but OverbyteIcsUdpSend1 example only shows how to send and

    OverbyteIcsUdpLstn only shows how to listen. Calling Listen anywhere in my code raises an exception

     

    ... an Exception of class ESocketException with message 'Address not available (#10049 in listen: Bind)' occurred.

     

      FWuTSocket := TWSocket.Create(nil);
    
      FWuTSocket.SocketFamily       := sfIPv4;
      FWuTSocket.Addr               := '255.255.255.255'; 
      FWuTSocket.MultiCast          := FALSE;
      FWuTSocket.MultiCastAddrStr   := '';
      FWuTSocket.Proto              := 'udp';
      FWuTSocket.Port               := 1234;
      FWuTSocket.LocalAddr          := '0.0.0.0';
      FWuTSocket.LocalPort          := '0';
      FWuTSocket.LineMode           := false;
      FWuTSocket.OnSessionConnected := OnWuTSearchSessionConnected;
      FWuTSocket.OnDataAvailable    := OnWuTSearchDataAvailable;
      FWuTSocket.OnSessionClosed    := OnWuTSearchSessionClosed;
      FWuTSocket.Connect;

    Where to put listen? Or do I need a 2nd socket? If yes, how to set that up so it actually receives the answer(s) of the device(s)?
    Set the other one in the OnWuTSearchSessionConnected event up and use FWuTSocket.LocalPort as local port?

     

    Since I do not have the right device at hand right now I modified OverbyteIcsUdpLstn example to send something back.
    When that one receives a message it does this:

     

    procedure TMainForm.WSocketDataAvailable(Sender: TObject; Error: Word);
    var
        Buffer : array [0..1023] of AnsiChar;
        Len    : Integer;
        Src    : TSockAddrIn6;
        SrcLen : Integer;
    begin
        if FSenderAddr.sin6_family = AF_INET then
        begin
            SrcLen := SizeOf(TSockAddrIn);
            Len    := WSocket.ReceiveFrom(@Buffer, SizeOf(Buffer), PSockAddr(@Src)^, SrcLen);
            if Len >= 0 then
            begin
                if (PSockAddr(@FSenderAddr).sin_addr.S_addr = INADDR_ANY) or
                   (PSockAddr(@FSenderAddr).sin_addr.S_addr = PSockAddr(@Src).Sin_addr.S_addr) then begin
                    Buffer[Len] := #0;
                    DataAvailableLabel.Caption := IntToStr(atoi(DataAvailableLabel.caption) + 1) +
                                              '  ' + String(WSocket_inet_ntoa(PSockAddr(@Src).sin_addr)) +
                                              ':'  + IntToStr(WSocket_ntohs(PSockAddr(@Src).sin_port)) +
                                              '--> ' + String(Buffer);
                end;
                
              WSocket.Close;
              WSocket.SocketFamily := sfIPv4;
              WSocket.Addr         := String(WSocket_inet_ntoa(PSockAddr(@Src).sin_addr));
    
              WSocket.Port       := IntToStr(WSocket_ntohs(PSockAddr(@Src).sin_port));
              WSocket.OnSessionConnected := WSocketSessionConnectedAfterReceive;
              WSocket.Connect;

    And in the OnSessionConnected event is sends the contents of a packed record like this:

    WSocket.Send(@FWuT, SizeOf(FWuT));

     

    It is sure that it reads the sending code, but on the other end (that first application which sends a message to the modified OverbyteIcsUdpLstn example) nothing is ever received.


  8. On 1/5/2020 at 10:35 AM, dummzeuch said:

    That page is petty much dead. The only way to reach anybody of the Jedi team (the few that are left) is through GitHub.

    There is a Mantis bugtracker linked on the JCL and JVCL project description pages on GitHub. That works.

    • Like 1

  9. Hello,

    when trying to install JCL (V2.8 build 5677) into D10.4.2 I get this failure message soon after it starts compiling Win32 stuff:

    "This installation of RAD Studio 10.4 doesn't support dual packages."

    Here's the log:

    ================================================================================
    JCL 2.8 Testing Build 5677
    ==========RAD Studio 10.4 32 bit================================================
    Installed personalities :
    32 bit Delphi
    64 bit Delphi
    64 bit Delphi for OSX
    32 bit Delphi for Android
    64 bit Delphi for Android
    32 bit Delphi for iOS
    64 bit Delphi for iOS
    32 bit Delphi for iOSSimulator
    64 bit Delphi for Linux
    64 bit C++Builder
    ================================================================================
    Multiple profile installation
    Single profile installation
    ================================================================================
    Saving conditional defines...
    Loaded template for include file C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\include\jcl.template.inc
    Saved include file C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\include\jcld27win32.inc
    Building source\common library units for RAD Studio 10.4 32 bit...
    "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\dcc32.exe" bzip2 Jcl8087 JclAbstractContainers JclAlgorithms JclAnsiStrings JclArrayLists JclArraySets JclBase JclBinaryTrees JclCharsets JclCompilerUtils JclComplex JclCompression JclContainerIntf JclCounter JclDateTime JclDevToolsResources JclExprEval JclFileUtils JclHashMaps JclHashSets JclIDEUtils JclIniFiles JclLinkedLists JclLogic JclMath JclMIDI JclMime JclNotify JclPCRE JclPreProcessorAlgorithmsTemplates JclPreProcessorArrayListsTemplates JclPreProcessorArraySetsTemplates JclPreProcessorBinaryTreesTemplates JclPreProcessorContainer1DTemplates JclPreProcessorContainer2DTemplates JclPreProcessorContainerIntfTemplates JclPreProcessorContainerKnownMaps JclPreProcessorContainerKnownTypes JclPreProcessorContainerTemplates JclPreProcessorContainerTypes JclPreProcessorExcDlgTemplates JclPreProcessorHashMapsTemplates JclPreProcessorHashSetsTemplates JclPreProcessorLexer JclPreProcessorLinkedListsTemplates JclPreProcessorParser JclPreProcessorQueuesTemplates JclPreProcessorSortedMapsTemplates JclPreProcessorStacksTemplates JclPreProcessorTemplates JclPreProcessorTreesTemplates JclPreProcessorVectorsTemplates JclQueues JclResources JclRTTI JclSchedule JclSimpleXml JclSortedMaps JclStacks JclStatistics JclStreams JclStrHashMap JclStringConversions JclStringLists JclStrings JclSynch JclSysInfo JclSysUtils JclTrees JclUnicode JclUnitConv JclUnitVersioning JclUnitVersioningProviders JclUsesUtils JclValidation JclVectors JclWideStrings pcre zlibh --no-config -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\lib\Win32\release" -M -$X+ -$G+ -$H+ -$P+ -$U- -$T- -$V+ -$J+ -$Z1 -$L+ -$Y+ -$J+ -$C- -$D- -$I- -$O+ -$Q- -$R- -$W- -N0"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32" -ns"System;System.Win;WinAPI;Vcl;Vcl.Imaging" -I"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\include" -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\common;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\windows;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\vcl" -R"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\common;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\windows;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\vcl"
    Embarcadero Delphi for Win32 compiler version 34.0
    Copyright (c) 1983,2021 Embarcadero Technologies, Inc.
    653020 Zeilen, 3.14 Sekunden, 53088 Byte-Code, 16900 Byte-Daten.
    Building source\windows library units for RAD Studio 10.4 32 bit...
    "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\dcc32.exe" Hardlinks JclAppInst JclCIL JclCLR JclCOM JclConsole JclCppException JclDebug JclDebugSerialization JclDebugXMLDeserializer JclDebugXMLSerializer JclDotNet JclHelpUtils JclHookExcept JclLANMan JclLocales JclMapi JclMetadata JclMiscel JclMsBuild JclMsdosSys JclMultimedia JclNTFS JclPeImage JclRegistry JclSecurity JclShell JclStructStorage JclSvcCtrl JclTask JclTD32 JclTimeZones JclWin32 JclWin32Ex JclWinMIDI mscoree_TLB mscorlib_TLB MSHelpServices_TLB MSTask sevenzip Snmp --no-config -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\lib\Win32\release" -M -$X+ -$G+ -$H+ -$P+ -$U- -$T- -$V+ -$J+ -$Z1 -$L+ -$Y+ -$J+ -$C- -$D- -$I- -$O+ -$Q- -$R- -$W- -N0"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32" -ns"System;System.Win;WinAPI;Vcl;Vcl.Imaging" -I"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\include" -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\common;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\windows;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\vcl" -R"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\common;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\windows;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\vcl"
    Embarcadero Delphi for Win32 compiler version 34.0
    Copyright (c) 1983,2021 Embarcadero Technologies, Inc.
    217273 Zeilen, 1.22 Sekunden, 3843 Byte-Code, 596 Byte-Daten.
    Building source\vcl library units for RAD Studio 10.4 32 bit...
    "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\dcc32.exe" JclFont JclGraphics JclGraphUtils JclOpenDialogFavorites JclOpenDialogHooks JclPrint JclVclResources JclVersionControl JclVersionCtrlCVSImpl JclVersionCtrlGITImpl JclVersionCtrlSVNImpl --no-config -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\lib\Win32\release" -M -$X+ -$G+ -$H+ -$P+ -$U- -$T- -$V+ -$J+ -$Z1 -$L+ -$Y+ -$J+ -$C- -$D- -$I- -$O+ -$Q- -$R- -$W- -N0"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32" -ns"System;System.Win;WinAPI;Vcl;Vcl.Imaging" -I"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\include" -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\common;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\windows;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\vcl" -R"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\common;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\windows;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\vcl"
    Embarcadero Delphi for Win32 compiler version 34.0
    Copyright (c) 1983,2021 Embarcadero Technologies, Inc.
    44869 Zeilen, 0.69 Sekunden, 7281 Byte-Code, 24 Byte-Daten.
    Building source\common library debug units for RAD Studio 10.4 32 bit...
    "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\dcc32.exe" bzip2 Jcl8087 JclAbstractContainers JclAlgorithms JclAnsiStrings JclArrayLists JclArraySets JclBase JclBinaryTrees JclCharsets JclCompilerUtils JclComplex JclCompression JclContainerIntf JclCounter JclDateTime JclDevToolsResources JclExprEval JclFileUtils JclHashMaps JclHashSets JclIDEUtils JclIniFiles JclLinkedLists JclLogic JclMath JclMIDI JclMime JclNotify JclPCRE JclPreProcessorAlgorithmsTemplates JclPreProcessorArrayListsTemplates JclPreProcessorArraySetsTemplates JclPreProcessorBinaryTreesTemplates JclPreProcessorContainer1DTemplates JclPreProcessorContainer2DTemplates JclPreProcessorContainerIntfTemplates JclPreProcessorContainerKnownMaps JclPreProcessorContainerKnownTypes JclPreProcessorContainerTemplates JclPreProcessorContainerTypes JclPreProcessorExcDlgTemplates JclPreProcessorHashMapsTemplates JclPreProcessorHashSetsTemplates JclPreProcessorLexer JclPreProcessorLinkedListsTemplates JclPreProcessorParser JclPreProcessorQueuesTemplates JclPreProcessorSortedMapsTemplates JclPreProcessorStacksTemplates JclPreProcessorTemplates JclPreProcessorTreesTemplates JclPreProcessorVectorsTemplates JclQueues JclResources JclRTTI JclSchedule JclSimpleXml JclSortedMaps JclStacks JclStatistics JclStreams JclStrHashMap JclStringConversions JclStringLists JclStrings JclSynch JclSysInfo JclSysUtils JclTrees JclUnicode JclUnitConv JclUnitVersioning JclUnitVersioningProviders JclUsesUtils JclValidation JclVectors JclWideStrings pcre zlibh --no-config -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\lib\Win32\debug" -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\lib\Win32\release" -M -$X+ -$G+ -$H+ -$P+ -$U- -$T- -$V+ -$J+ -$Z1 -$L+ -$Y+ -$J+ -$C+ -$D+ -$I+ -$O- -$Q+ -$R+ -$W+ -N0"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32\debug" -ns"System;System.Win;WinAPI;Vcl;Vcl.Imaging" -I"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\include" -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\common;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\windows;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\vcl" -R"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\common;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\windows;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\vcl"
    Embarcadero Delphi for Win32 compiler version 34.0
    Copyright (c) 1983,2021 Embarcadero Technologies, Inc.
    653020 Zeilen, 2.86 Sekunden, 53256 Byte-Code, 16900 Byte-Daten.
    Building source\windows library debug units for RAD Studio 10.4 32 bit...
    "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\dcc32.exe" Hardlinks JclAppInst JclCIL JclCLR JclCOM JclConsole JclCppException JclDebug JclDebugSerialization JclDebugXMLDeserializer JclDebugXMLSerializer JclDotNet JclHelpUtils JclHookExcept JclLANMan JclLocales JclMapi JclMetadata JclMiscel JclMsBuild JclMsdosSys JclMultimedia JclNTFS JclPeImage JclRegistry JclSecurity JclShell JclStructStorage JclSvcCtrl JclTask JclTD32 JclTimeZones JclWin32 JclWin32Ex JclWinMIDI mscoree_TLB mscorlib_TLB MSHelpServices_TLB MSTask sevenzip Snmp --no-config -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\lib\Win32\debug" -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\lib\Win32\release" -M -$X+ -$G+ -$H+ -$P+ -$U- -$T- -$V+ -$J+ -$Z1 -$L+ -$Y+ -$J+ -$C+ -$D+ -$I+ -$O- -$Q+ -$R+ -$W+ -N0"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32\debug" -ns"System;System.Win;WinAPI;Vcl;Vcl.Imaging" -I"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\include" -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\common;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\windows;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\vcl" -R"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\common;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\windows;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\vcl"
    Embarcadero Delphi for Win32 compiler version 34.0
    Copyright (c) 1983,2021 Embarcadero Technologies, Inc.
    217273 Zeilen, 1.06 Sekunden, 3988 Byte-Code, 596 Byte-Daten.
    Building source\vcl library debug units for RAD Studio 10.4 32 bit...
    "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\dcc32.exe" JclFont JclGraphics JclGraphUtils JclOpenDialogFavorites JclOpenDialogHooks JclPrint JclVclResources JclVersionControl JclVersionCtrlCVSImpl JclVersionCtrlGITImpl JclVersionCtrlSVNImpl --no-config -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\lib\Win32\debug" -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\lib\Win32\release" -M -$X+ -$G+ -$H+ -$P+ -$U- -$T- -$V+ -$J+ -$Z1 -$L+ -$Y+ -$J+ -$C+ -$D+ -$I+ -$O- -$Q+ -$R+ -$W+ -N0"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32\debug" -ns"System;System.Win;WinAPI;Vcl;Vcl.Imaging" -I"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\include" -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\common;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\windows;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\vcl" -R"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\common;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\windows;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\vcl"
    Embarcadero Delphi for Win32 compiler version 34.0
    Copyright (c) 1983,2021 Embarcadero Technologies, Inc.
    44869 Zeilen, 0.59 Sekunden, 7840 Byte-Code, 24 Byte-Daten.
    Building C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\Jcl.dpk...
    Cleaning package cache for Jcl270.bpl
    Cleaning ok
    Compiling package C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\Jcl.dpk
    "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\dcc32.exe" "C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\Jcl.dpk" --no-config -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\lib\Win32\release" -NU"..\..\lib\d27\win32" -I"..\..\lib\d27\win32;..\..\source\include;" -R"..\..\lib\d27\win32;..\..\source\include;" -DBCB;BCB;WIN32;CONDITIONALEXPRESSIONS;RELEASE;BCB;WIN32;CONDITIONALEXPRESSIONS;RELEASE -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32\;C:\Users\Public\Documents\Embarcadero\Studio\21.0\Dcp;..\..\lib\d27\win32;..\..\source\include;" -LU"rtl;" -ns"System;System.Win;WinApi;Vcl;Vcl.Imaging;" -LN"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32" -LE"C:\Users\Public\Documents\Embarcadero\Studio\21.0\Bpl"
    Embarcadero Delphi for Win32 compiler version 34.0
    Copyright (c) 1983,2021 Embarcadero Technologies, Inc.
    128 Zeilen, 0.55 Sekunden, 1816588 Byte-Code, 719208 Byte-Daten.
    Compilation success
    ...done.
    Building C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclContainers.dpk...
    Cleaning package cache for JclContainers270.bpl
    Cleaning ok
    Compiling package C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclContainers.dpk
    "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\dcc32.exe" "C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclContainers.dpk" --no-config -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\lib\Win32\release" -NU"..\..\lib\d27\win32" -I"..\..\lib\d27\win32;..\..\source\include;" -R"..\..\lib\d27\win32;..\..\source\include;" -DBCB;BCB;WIN32;CONDITIONALEXPRESSIONS;RELEASE;BCB;WIN32;CONDITIONALEXPRESSIONS;RELEASE -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32\;C:\Users\Public\Documents\Embarcadero\Studio\21.0\Dcp;..\..\lib\d27\win32;..\..\source\include;" -LU"rtl;Jcl;" -ns"System;System.Win;WinApi;Vcl;Vcl.Imaging;" -LN"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32" -LE"C:\Users\Public\Documents\Embarcadero\Studio\21.0\Bpl"
    Embarcadero Delphi for Win32 compiler version 34.0
    Copyright (c) 1983,2021 Embarcadero Technologies, Inc.
    69 Zeilen, 0.42 Sekunden, 2166156 Byte-Code, 884 Byte-Daten.
    Compilation success
    ...done.
    Building C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclDeveloperTools.dpk...
    Cleaning package cache for JclDeveloperTools270.bpl
    Cleaning ok
    Compiling package C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclDeveloperTools.dpk
    "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\dcc32.exe" "C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclDeveloperTools.dpk" --no-config -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\lib\Win32\release" -NU"..\..\lib\d27\win32" -I"..\..\lib\d27\win32;..\..\source\include;" -R"..\..\lib\d27\win32;..\..\source\include;" -DBCB;BCB;WIN32;CONDITIONALEXPRESSIONS;RELEASE;BCB;WIN32;CONDITIONALEXPRESSIONS;RELEASE -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32\;C:\Users\Public\Documents\Embarcadero\Studio\21.0\Dcp;..\..\lib\d27\win32;..\..\source\include;" -LU"rtl;Jcl;JclContainers;" -ns"System;System.Win;WinApi;Vcl;Vcl.Imaging;" -LN"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32" -LE"C:\Users\Public\Documents\Embarcadero\Studio\21.0\Bpl"
    Embarcadero Delphi for Win32 compiler version 34.0
    Copyright (c) 1983,2021 Embarcadero Technologies, Inc.
    86 Zeilen, 0.39 Sekunden, 513416 Byte-Code, 14696 Byte-Daten.
    Compilation success
    ...done.
    Building C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclVcl.dpk...
    Cleaning package cache for JclVcl270.bpl
    Cleaning ok
    Compiling package C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclVcl.dpk
    "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\dcc32.exe" "C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclVcl.dpk" --no-config -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\lib\Win32\release" -NU"..\..\lib\d27\win32" -I"..\..\lib\d27\win32;..\..\source\include;" -R"..\..\lib\d27\win32;..\..\source\include;" -DBCB;BCB;WIN32;CONDITIONALEXPRESSIONS;RELEASE;BCB;WIN32;CONDITIONALEXPRESSIONS;RELEASE -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32\;C:\Users\Public\Documents\Embarcadero\Studio\21.0\Dcp;..\..\lib\d27\win32;..\..\source\include;" -LU"rtl;vcl;vclimg;Jcl;" -ns"System;System.Win;WinApi;Vcl;Vcl.Imaging;" -LN"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32" -LE"C:\Users\Public\Documents\Embarcadero\Studio\21.0\Bpl"
    Embarcadero Delphi for Win32 compiler version 34.0
    Copyright (c) 1983,2021 Embarcadero Technologies, Inc.
    67 Zeilen, 0.42 Sekunden, 142392 Byte-Code, 1692 Byte-Daten.
    Compilation success
    ...done.
    Building C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclBaseExpert.dpk...
    Cleaning package cache for JclBaseExpert270.bpl
    Cleaning ok
    Compiling package C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclBaseExpert.dpk
    "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\dcc32.exe" "C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclBaseExpert.dpk" --no-config -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\lib\Win32\release" -NU"..\..\lib\d27\win32" -I"..\..\lib\d27\win32;..\..\source\include;" -R"..\..\lib\d27\win32;..\..\source\include;" -DBCB;BCB;WIN32;CONDITIONALEXPRESSIONS;RELEASE;BCB;WIN32;CONDITIONALEXPRESSIONS;RELEASE -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32\;C:\Users\Public\Documents\Embarcadero\Studio\21.0\Dcp;..\..\lib\d27\win32;..\..\source\include;" -LU"rtl;vcl;vclx;designide;Jcl;JclDeveloperTools;" -ns"System;System.Win;WinApi;Vcl;Vcl.Imaging;" -LN"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32" -LE"C:\Users\Public\Documents\Embarcadero\Studio\21.0\Bpl"
    Embarcadero Delphi for Win32 compiler version 34.0
    Copyright (c) 1983,2021 Embarcadero Technologies, Inc.
    43661 Zeilen, 0.77 Sekunden, 66832 Byte-Code, 588 Byte-Daten.
    Compilation success
    ...done.
    Building C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclDebugExpert.dpk...
    Cleaning package cache for JclDebugExpert270.bpl
    Cleaning ok
    Compiling package C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclDebugExpert.dpk
    "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\dcc32.exe" "C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclDebugExpert.dpk" --no-config -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\lib\Win32\release" -NU"..\..\lib\d27\win32" -I"..\..\lib\d27\win32;..\..\source\include;" -R"..\..\lib\d27\win32;..\..\source\include;" -DBCB;BCB;WIN32;CONDITIONALEXPRESSIONS;RELEASE;BCB;WIN32;CONDITIONALEXPRESSIONS;RELEASE -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32\;C:\Users\Public\Documents\Embarcadero\Studio\21.0\Dcp;..\..\lib\d27\win32;..\..\source\include;" -LU"rtl;vcl;designide;Jcl;JclBaseExpert;JclDeveloperTools;" -ns"System;System.Win;WinApi;Vcl;Vcl.Imaging;" -LN"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32" -LE"C:\Users\Public\Documents\Embarcadero\Studio\21.0\Bpl"
    Embarcadero Delphi for Win32 compiler version 34.0
    Copyright (c) 1983,2021 Embarcadero Technologies, Inc.
    8093 Zeilen, 0.59 Sekunden, 40856 Byte-Code, 468 Byte-Daten.
    Compilation success
    ...done.
    Building C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclProjectAnalysisExpert.dpk...
    Cleaning package cache for JclProjectAnalysisExpert270.bpl
    Cleaning ok
    Compiling package C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclProjectAnalysisExpert.dpk
    "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\dcc32.exe" "C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclProjectAnalysisExpert.dpk" --no-config -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\lib\Win32\release" -NU"..\..\lib\d27\win32" -I"..\..\lib\d27\win32;..\..\source\include;" -R"..\..\lib\d27\win32;..\..\source\include;" -DBCB;BCB;WIN32;CONDITIONALEXPRESSIONS;RELEASE;BCB;WIN32;CONDITIONALEXPRESSIONS;RELEASE -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32\;C:\Users\Public\Documents\Embarcadero\Studio\21.0\Dcp;..\..\lib\d27\win32;..\..\source\include;" -LU"rtl;vcl;designide;Jcl;JclBaseExpert;" -ns"System;System.Win;WinApi;Vcl;Vcl.Imaging;" -LN"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32" -LE"C:\Users\Public\Documents\Embarcadero\Studio\21.0\Bpl"
    Embarcadero Delphi for Win32 compiler version 34.0
    Copyright (c) 1983,2021 Embarcadero Technologies, Inc.
    6983 Zeilen, 0.58 Sekunden, 29532 Byte-Code, 328 Byte-Daten.
    Compilation success
    ...done.
    Building C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclFavoriteFoldersExpert.dpk...
    Cleaning package cache for JclFavoriteFoldersExpert270.bpl
    Cleaning ok
    Compiling package C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclFavoriteFoldersExpert.dpk
    "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\dcc32.exe" "C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclFavoriteFoldersExpert.dpk" --no-config -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\lib\Win32\release" -NU"..\..\lib\d27\win32" -I"..\..\lib\d27\win32;..\..\source\include;" -R"..\..\lib\d27\win32;..\..\source\include;" -DBCB;BCB;WIN32;CONDITIONALEXPRESSIONS;RELEASE;BCB;WIN32;CONDITIONALEXPRESSIONS;RELEASE -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32\;C:\Users\Public\Documents\Embarcadero\Studio\21.0\Dcp;..\..\lib\d27\win32;..\..\source\include;" -LU"rtl;vcl;designide;Jcl;JclVcl;JclBaseExpert;" -ns"System;System.Win;WinApi;Vcl;Vcl.Imaging;" -LN"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32" -LE"C:\Users\Public\Documents\Embarcadero\Studio\21.0\Bpl"
    Embarcadero Delphi for Win32 compiler version 34.0
    Copyright (c) 1983,2021 Embarcadero Technologies, Inc.
    3048 Zeilen, 0.56 Sekunden, 10864 Byte-Code, 212 Byte-Daten.
    Compilation success
    ...done.
    Building C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclRepositoryExpert.dpk...
    Cleaning package cache for JclRepositoryExpert270.bpl
    Cleaning ok
    Compiling package C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclRepositoryExpert.dpk
    "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\dcc32.exe" "C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclRepositoryExpert.dpk" --no-config -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\lib\Win32\release" -NU"..\..\lib\d27\win32" -I"..\..\lib\d27\win32;..\..\source\include;" -R"..\..\lib\d27\win32;..\..\source\include;" -DBCB;BCB;WIN32;CONDITIONALEXPRESSIONS;RELEASE;BCB;WIN32;CONDITIONALEXPRESSIONS;RELEASE -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32\;C:\Users\Public\Documents\Embarcadero\Studio\21.0\Dcp;..\..\lib\d27\win32;..\..\source\include;" -LU"rtl;vcl;designide;Jcl;JclContainers;JclBaseExpert;JclDeveloperTools;" -ns"System;System.Win;WinApi;Vcl;Vcl.Imaging;" -LN"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32" -LE"C:\Users\Public\Documents\Embarcadero\Studio\21.0\Bpl"
    Embarcadero Delphi for Win32 compiler version 34.0
    Copyright (c) 1983,2021 Embarcadero Technologies, Inc.
    33622 Zeilen, 1.08 Sekunden, 46136 Byte-Code, 480 Byte-Daten.
    Compilation success
    ...done.
    Building C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclSIMDViewExpert.dpk...
    Cleaning package cache for JclSIMDViewExpert270.bpl
    Cleaning ok
    Compiling package C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclSIMDViewExpert.dpk
    "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\dcc32.exe" "C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclSIMDViewExpert.dpk" --no-config -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\lib\Win32\release" -NU"..\..\lib\d27\win32" -I"..\..\lib\d27\win32;..\..\source\include;" -R"..\..\lib\d27\win32;..\..\source\include;" -DBCB;BCB;WIN32;CONDITIONALEXPRESSIONS;RELEASE;BCB;WIN32;CONDITIONALEXPRESSIONS;RELEASE -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32\;C:\Users\Public\Documents\Embarcadero\Studio\21.0\Dcp;..\..\lib\d27\win32;..\..\source\include;" -LU"rtl;vcl;designide;Jcl;JclBaseExpert;" -ns"System;System.Win;WinApi;Vcl;Vcl.Imaging;" -LN"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32" -LE"C:\Users\Public\Documents\Embarcadero\Studio\21.0\Bpl"
    Embarcadero Delphi for Win32 compiler version 34.0
    Copyright (c) 1983,2021 Embarcadero Technologies, Inc.
    C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\experts\debug\simdview\JclSIMDUtils.pas(868) Warnung: W1000 Symbol 'TOTAThreadContext' ist veraltet
    C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\experts\debug\simdview\JclSIMDUtils.pas(868) Warnung: W1000 Symbol 'TOTAThreadContext' ist veraltet
    17838 Zeilen, 0.75 Sekunden, 59624 Byte-Code, 892 Byte-Daten.
    Compilation success
    ...done.
    Building C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclStackTraceViewerExpert.dpk...
    Cleaning package cache for JclStackTraceViewerExpert270.bpl
    Cleaning ok
    Compiling package C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclStackTraceViewerExpert.dpk
    "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\dcc32.exe" "C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\packages\d27\JclStackTraceViewerExpert.dpk" --no-config -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\lib\Win32\release" -NU"..\..\lib\d27\win32" -I"..\..\lib\d27\win32;..\..\source\include;" -R"..\..\lib\d27\win32;..\..\source\include;" -DBCB;BCB;WIN32;CONDITIONALEXPRESSIONS;RELEASE;BCB;WIN32;CONDITIONALEXPRESSIONS;RELEASE -U"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32\;C:\Users\Public\Documents\Embarcadero\Studio\21.0\Dcp;..\..\lib\d27\win32;..\..\source\include;" -LU"rtl;vcl;designide;Jcl;JclBaseExpert;" -ns"System;System.Win;WinApi;Vcl;Vcl.Imaging;" -LN"C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32" -LE"C:\Users\Public\Documents\Embarcadero\Studio\21.0\Bpl"
    Embarcadero Delphi for Win32 compiler version 34.0
    Copyright (c) 1983,2021 Embarcadero Technologies, Inc.
    43814 Zeilen, 0.75 Sekunden, 68596 Byte-Code, 476 Byte-Daten.
    Compilation success
    ...done.
    Added "C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\include" to library search path.
    Added "C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\common;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\windows;C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\source\vcl" to library browsing path.
    Added "C:\Program Files (x86)\Embarcadero\Studio\21.0\Extras\Jcl\jcl\lib\d27\win32\debug" to Debug DCU Path.
    Cleaning package cache for JclBaseExpert270.bpl
    Cleaning ok
    Registering package C:\Users\Public\Documents\Embarcadero\Studio\21.0\Bpl\JclBaseExpert270.bpl
    Registration ok
    Cleaning package cache for JclDebugExpert270.bpl
    Cleaning ok
    Registering package C:\Users\Public\Documents\Embarcadero\Studio\21.0\Bpl\JclDebugExpert270.bpl
    Registration ok
    Cleaning package cache for JclProjectAnalysisExpert270.bpl
    Cleaning ok
    Registering package C:\Users\Public\Documents\Embarcadero\Studio\21.0\Bpl\JclProjectAnalysisExpert270.bpl
    Registration ok
    Cleaning package cache for JclFavoriteFoldersExpert270.bpl
    Cleaning ok
    Registering package C:\Users\Public\Documents\Embarcadero\Studio\21.0\Bpl\JclFavoriteFoldersExpert270.bpl
    Registration ok
    Cleaning package cache for JclRepositoryExpert270.bpl
    Cleaning ok
    Registering package C:\Users\Public\Documents\Embarcadero\Studio\21.0\Bpl\JclRepositoryExpert270.bpl
    Registration ok
    Cleaning package cache for JclSIMDViewExpert270.bpl
    Cleaning ok
    Registering package C:\Users\Public\Documents\Embarcadero\Studio\21.0\Bpl\JclSIMDViewExpert270.bpl
    Registration ok
    Cleaning package cache for JclStackTraceViewerExpert270.bpl
    Cleaning ok
    Registering package C:\Users\Public\Documents\Embarcadero\Studio\21.0\Bpl\JclStackTraceViewerExpert270.bpl
    Registration ok


    My user has no admin permissions but the Extras folder the JCL is under has write permission.

    What's wrong?

    Best regards
    TurboMagic


  10. Hello,

     

    I've got trouble sharing a file which is local to my app now. Code previously worked before migrating to 10.4.1 and moving the file to the

    app local directory to make it Android 10+ compatible.

     

    Before showing the code I'd like to know if the following path I see in the Android logcat log is correct or who it would need to look like:

     

    04-07 12:10:09.190: I/ActivityTaskManager(1352): START u0 {act=android.intent.action.SEND dat=content://com.mycompany.MyApp.fileprovider/root/data/data/com.mycompany.MyApp/files/1.dat typ=*/* flg=0x1 cmp=android/com.android.internal.app.ResolverActivity} from uid 10269

     

    I have the suspicion that this one is a concatenation of two things and thus wrong:

    content://com.mycompany.MyApp.fileprovider/root/data/data/com.mycompany.MyApp/files/1.dat

     

    When trying to share it with GMail I do get an empty mail composer screen, but no attachment.

     

    Cheers

    TurboMagic


  11. Hello,

     

    this is the announcement that I just re-released a classic Delphi component called TComPortDrv.

    The new release is in agreement of the original author and the license was changed to Apache 2.0
    by this.

     

    What is this non-visual VCL component about?

    It is an encapsulation of the Windows RS232 API so you can send and receive data via real and virtual COM-ports.

    The new version works from 10.4.1 Sydney onwards (due to the use of $(Auto) for the LibSuffix setting of the packages.

    You should get it compile on older versions though as well.

     

    Where can I get it from?

    https://github.com/MHumm/ComPortDriver/releases/tag/V3.0

     

    What got changed in this V3.0

    * made compilable with Unicode Delphi

    * fixed a severe bug in the data receive event which would overflow the internal buffer when using this component with a high baudrate

      (over 230400)

    * changed all external comments to XMLDOC

    * added a method to get a list of available COM-ports (only as COM3, COM4 etc. as of now)

    * added SetCommBreak and ClearCommBreak methods

    * made DelayForRX function a method now and based its calculation on the current serial settings

    * changed the component Icon

     

    Enjoy

    TurboMagic

    • Like 3

  12. 23 hours ago, Stefan Glienke said:

    tbh you pretty much butchered the entire code for older versions.

    I just gave XE a try and it fails on numerous things - not supported $IF/$ENDIF (it was $IF/$IFEND back then) - scoped unit names, usage on intrinsic helpers, AtomicIncrement and more I guess (I stopped fixing the code at that point)

    Somebody else found that out meanwhile as well and Development branch contains fixes for most known issues already. And yes I agreed: we shouldn't try to support every old Delphi version. I had rised this to D2009 with V6.0. I am not sure what the minimum version was before I took over. Maybe D5. I will raise it further in the future.


  13. Somebody found out, that DEC only compiled in XE7 or newer due to the use of new array syntax.

     

    Development branch contains a version now which should be fixed.

    I have no old Delphi installed, so this is not testest yet.


  14. Hello,

     

    there is a new release 6.1 of DEC available .

     

    It is located here:

    https://github.com/MHumm/DelphiEncryptionCompendium/releases/tag/V6.1

     

    WHat's new since V6.0?
    * x64 compilation works out of the box now, some unit had not been properly listed for x64
    * fixed the following cipher algorithms which were broken on x64:  Blowfish, RC6 and Q128
    * the Sapphire cipher did work with the unit test vectors but failed for some others
    * added SHA2-224 hash algorithm
    * added HMAC and pbkdf2 algorithms
    * somebody provided a build batch file
    * there is a command line application included now for setting the IDE's library path

    * progress even got changed and a VCL demo for that one was added
    * version history is a separate document in docs folder now

     

    Cheers
    TurboMagic

    • Like 5

  15. Hello,

     

    this is the report of yes another bug a user has found (interestingly the unit tests for the cipher run flawlessly):

    Sapphire cipher didn't work properly for some data at least.

    The user thankfully did some investigation and I checked in his proposed fixes in the development branch.

     

    Note that the documentation got a small change: version history is a separate document now.

     

    So have fun using it

    TurboMagic


  16. Sorry, but I have to report a few bugs/regressions which have crept into DEC:

     

    These led for the following cipher algorithms failing their unit tests on x64:

     

    • Blowfish
    • RC6
    • Q128

     

    In addition there was a bug which prevented compilation on x64 completely.

     

    Good news is: these are all fixed and available in development branch on GitHub (see above link).

     

    Have a nice evening

    TurboMagic

    • Like 2
×