Jump to content
DelphiUdIT

Update New Indy / TLS1_3 / FireUI Live

Recommended Posts

Posted (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:

 

image.thumb.png.4b6d30bd27ac3215b6b629bd08ee6523.png

 

image.thumb.png.507c66569b7b2f3ab32ea84cb559099b.png

 

Tomorrow I'll insert the instructions to reconstruct the functionalities inside IDE (now is too late ...)

Edited by DelphiUdIT

Share this post


Link to post
Posted (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.

 

image.thumb.png.5b5dff20f0317bf91fb0004315da9bc2.png

 

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.

 

image.thumb.png.5b89236f1dff491078cd69157a9533c6.png

 

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"

 

image.thumb.png.7b81f0803e75e54e591cb765dcfce48a.png

 

Now go to next section "HKEY_CURRENT_USER\Software\Embarcadero\BDS\23.0\Disabled Packages"

and delete the key "$(BDSBIN)\dclemsedge290.bpl"

 

image.thumb.png.abac1b912d78030df32436c7df3912cf.png

 

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 by DelphiUdIT

Share this post


Link to post
Posted (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.

 

image.png.591af9fd557ae221047969f730ca954d.png

 

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.

 

image.thumb.png.f407a31b49db84a2e64d96586aee047e.png

 

3) One settings on Embarcadero Rad Studio path is wrong, should be Android not OSX  - this is for both Android 32 and Android 64:

 

Tools-Options.thumb.png.a8bd973d631bc110acdf7c26fdbfdad4.png

 

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 by DelphiUdIT

Share this post


Link to post
6 hours ago, DelphiUdIT said:

Three issues found:

I have updated IdHL7.pas and IdCompilerDefines.inc with your changes.

  • Thanks 1

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×