Jump to content

caymon

Members
  • Content Count

    8
  • Joined

  • Last visited

Community Reputation

0 Neutral
  1. I have a Delphi subscription (for several years already). I wanted to know if all the Delphi versions, installed during that (long) subscription period, will continue to work if I don't renew my subscription. A sales guy from Embarcadero chated me that ''Every Edition which has been already unlocked, remains available for you''. However, in this legal document: https://www.ideracorp.com/~/media/IderaInc/Files/Embarcadero/v12_0/Embarcadero RAD Studio Delphi CBuilder Software License and Support Agreement English in the chapter ''ADDITIONAL LICENSE TERMS APPLICABLE TO SOFTWARE LICENSED ON A SUBSCRIPTION BASIS'' we read: Upon expiration or termination of the License Term, Licensee must immediately cease use of and uninstall the Product but Licensed Works developed using the Product may still be distributed. Continued use of Subscription Licenses following the expiration or termination of the License Term is unauthorized, constitutes a violation of this Agreement and may constitute a misappropriation of Licensor's intellectual property rights. Then, what is the truth?
  2. Thank you for the info about Delphi 11. Indeed, I have that version but the program that needs the change (600K lines) was compiled using 10.4. However, I've checked that it also compiles (and seems to run) properly using 11, maybe it is time to switch!
  3. I have a list of objects, declared like TMyList = class(TObjectList<T>) with say 1000 elements. The list is sorted according to a certain comparer. Then, how do I sort again, but only the first 100 elements of that list, according to another comparer. The construction MyList.Sort(...) doesn't allow to specify a low and a high bound of the sort.
  4. A system A, which has several IP addresses, sends UDP packets to a system B that also have several addresses: On system A, there is a TIdUPDClient with the code: UDPClient.Host := '2017::7690:5000:0:1'; // one of the addresses of B; UDPClient.Port := 3610; UDPClient.IPVersion := Id_IPv6; UDPClient.BoundIP := 'FD00:CAFE:CAFE::AAAA'; // one of the addresses of A The UDP packets are sent with: Src= FD00:CAFE:CAFE::AAAA and Dst=2017::7690:5000:0:1, which is OK. In the system B, there is an IdUDPServer listening to any addresses of B, i.e: IdUDPServer.Bindings.Add.IP := ''; When B receives a packet, the handler UDPRead is executed, with a ''ABinding'' parameter with the values: ABinding.IP = '0:0:0:0.0:0:0:0' ABinding.Port = 3610 ABinding.PeerIP = 'FD00:CAFE:CAFE::AAAA' // src address of the packet, which is correct ABinding.PeerPort = ...any value From the 'ABinding' parameter, is there a way to know the ''real local address'' that received the packet? In our example, this address should be 2017::7690:5000:0:1? Then, before responding to the received message, could I do UDPServer.Binding.IP := ''the real local address'' and then UDPServer.SendBuffer() so that the sent UDP packet would have Src=2017::7690:5000:0:1 and Dst=FD00:CAFE:CAFE::AAAA? Thank you.
  5. In an TIdUDPServer, we can select the IP address, where the server listens to using (for example): IdUDPServer.Bindings.Add.IP := ...; If I set one of the several addresses of the system, like: IdUDPServer.Bindings.Add.IP := '2017::7690:5000:0:1'; Then the UDPServer receives the packets sent to that address, the OnUDPRead handler is called and I can verify that the values of ABinding.IP, ABinding.PeerIP and ABinding.PeerPort are all correct. If IdUDPServer.Bindings.Add.IP is set to a blank string, then IdUDPServer should bind to all available local IPs. But, this doesn't seem to be true, the OnUDPRead is not called as if the UDPServer would not receive the packets sent to the address above. What could be the reason? Thank you. Using 10.4.2 on W10
  6. caymon

    Delphi Version Numbers

    So, it is the BDS version, then. I'll make me a note 😉 Thank you.
  7. caymon

    Delphi Version Numbers

    Delphi installs in directories like Embarcadero\Studio\xx, like for example Embarcadero\Studio\21 for 10.4; Embarcadero\Studio\20 for 10.3; etc... Where are these xx listed? How are they called? The page http://docwiki.embarcadero.com/RADStudio/Rio/en/Compiler_Versions lists various ''versions'' but none matches the xx. Regards, Chris
×