DelphiUdIT 176 Posted March 6 (edited) Hallo to all, after update the original version of Indy, Delphi12 with patch 1, I restore also the FireUI Live functionality and may be all the other functionalities (and this with only one Indy installed, no clone or separated project). EDIT: I confirm also the other package that was disabled (Embarcadero RAD Server Edge Components) is now restored. I research that because some new packets (like the new RDGoogleAI in getit) need some Indy component not present on GitHub. This post is a first little help to update Indy: https://en.delphipraxis.net/topic/6844-tls-v13/?do=findComment&comment=88750 This are the Images about FireUI working with the new Indy: Tomorrow I'll insert the instructions to reconstruct the functionalities inside IDE (now is too late ...) Edited March 6 by DelphiUdIT Share this post Link to post
DelphiUdIT 176 Posted March 7 (edited) ... from previous post, instructions to restore all Indy functionality inside IDE. Go to Rad Studio installation directory (normally "C:\Program Files (x86)\Embarcadero\Studio\23.0"), in the "source" directory. Inside the "source" should be present 3 Indy folder: "indy", "Indy10" and "indyimpl". Indy10 is the real source of Indy like that in the GitHub. Instead, "indy" and "indyimpl" are the folders that contains the IDE functions implementations of Embarcadero. The path is protected, so copy these to folder (with the content of course) somewhere ... I copied them where are the new Indy source (look at https://en.delphipraxis.net/topic/6844-tls-v13/?do=findComment&comment=88750), changing the name of "indy" in "indyextra". EDIT: Forgot to insert the new path in the browsing property. You must insert the path of the new folders inside the browsing property of TOOLS/OPTIONS/LANGUAGE/DELPHI/LIBRARY of the IDE. If there are the originals, you must overwrite them. Of course that in the image are mine, you must set yours. Now you have to build some packages and install some of them. In the new "indyextra\implementation" build the packages present in this sequence: 1) IndyIPCommon.dpk; 2) IndyIPClient.dpk; 3) IndyIPServer.dpk ATTENTION: depends how you build the new Indy packages, you should change the name of the 3 requires packet (IndyCore, IndyProtocols, IndySystem) referred in the DPK source files. This is for every packages that you compile with Indy. After that go to "indyimpl" folder and BUILD and INSTALL the "dclIPIndyImpl.dpk". Now you have restored the original functionality inside the IDE ("FIREUI Live Preview" and " Embarcadero RAD Server Edge Components"), and you can install also the new packages that require those functions inside the IDE. BUT ONE MORE STEP NEED TO complete the work: you must change the Windows registry, because when you install the new Indy from github repo you have disabled permanently two Embarcadero packages. Pay attention to what you are doing with Windows registry. Open the registry with command prompt "regedit" and go to this section: "HKEY_CURRENT_USER\Software\Embarcadero\BDS\23.0\Disabled IDE Packages" Delete the key "$(BDS)\Bin\LivePreview290.bpl" Now go to next section "HKEY_CURRENT_USER\Software\Embarcadero\BDS\23.0\Disabled Packages" and delete the key "$(BDSBIN)\dclemsedge290.bpl" Now you can restart your IDE and you'll have the full functionality. Indy works like always, and if you want to use the "new" TLS1_3 you must do some coding (also mixed designtime / runtime). But this is another chapter ... Happy work. Edited March 7 by DelphiUdIT Share this post Link to post
DelphiUdIT 176 Posted March 9 (edited) I compiled the new Indy package (https://github.com/IndySockets/Indy/tree/sasl-oauth) in Android platform too with success. Three issues found: 1) In the IDHL7.PAS, after the implementation section two uses files do not exists. Comment out there will be no apparent issue. In the Embarcadero release IDHL7.PAS is not present. 2) In the IdCompilerDefines.inc there is a $DEFINE (HAS_getifaddrs): I had undefined that since one records that will be used if that define is in use in Android platform is never delclared. 3) One settings on Embarcadero Rad Studio path is wrong, should be Android not OSX - this is for both Android 32 and Android 64: After those modifies, I was able to compile the Indy for Android. I try also an old Android project with IdSMTP protocol (with SSL) without any issue. Edited March 9 by DelphiUdIT Share this post Link to post
Remy Lebeau 1392 Posted March 9 6 hours ago, DelphiUdIT said: Three issues found: I have updated IdHL7.pas and IdCompilerDefines.inc with your changes. 1 Share this post Link to post
PhxMarco 0 Posted September 12 Hi, I was looking for an HL7 library to manage HL7 TCP connections and found this reference to Indy 🙂 But looking in my D12 indy 10.6.2, I do not see the IdHL7.pas... Which version is this with HL7 protocol ? Regards, Marco Share this post Link to post
Lajos Juhász 293 Posted September 12 There is one at the repository https://github.com/IndySockets/Indy. Share this post Link to post
Remy Lebeau 1392 Posted September 12 (edited) 5 hours ago, PhxMarco said: But looking in my D12 indy 10.6.2, I do not see the IdHL7.pas... Which version is this with HL7 protocol ? Indeed, the IdHL7.pas source file appears to be missing in D12. Delphi ships with the Indy packages preinstalled, and the TIdHL7 component was re-written and re-enabled in Indy's GitHub repo a year prior to D12's release, and it is enabled in the D12 version that is tagged in GitHub. So I would think it should be present in the Indy version that shipped with D12. But, oddly, TIdHL7 is still disabled in Embarcadero's copy of IdRegister.pas. I wonder why. To get HL7 working, you will have to remove the preinstalled version and install the latest GitHub version: https://github.com/IndySockets/Indy/wiki/Updating-Indy Edited September 12 by Remy Lebeau Share this post Link to post
PhxMarco 0 Posted September 12 No, I cannot see the component in Indy Misc nor in Indy Clients... But which is the version on Gihub ? can it be compatible with my application written with 10.6.2 ? Share this post Link to post
Remy Lebeau 1392 Posted September 12 5 minutes ago, PhxMarco said: But which is the version on Gihub ? The current version in GitHub is 10.6.3.5. 5 minutes ago, PhxMarco said: can it be compatible with my application written with 10.6.2 ? It should be. Note that the Indy packages that ship with Delphi are compiled with LIBSUFFIX enabled, whereas the GitHub version is not, so if you do install the GitHub version then you will have to update your project's references to Indy packages, but other than that, everything else should be the same. Share this post Link to post