Mega Code Archive

 
Categories / Delphi / Ide Indy
 

HOW TO INSTALL Indy 10.5.7 in Delphi 2007 IDe from Tiburon.zip distribution

Title: HOW TO INSTALL Indy 10.5.7 in Delphi 2007 IDe from * Tiburon.zip * distribution Question: The installation of Indy 10 into the IDE is difficult for beginners which greatest cause of frustration is to deal with the IDE. Here a step-by-step guide useful for Indy 10 in particular and similar challenges in general Answer: Date 25/05/2010 By Davide Spano e-mail davide.spano@armfield.co.uk ********************************************************************************** HOW TO INSTALL Indy 10.5.7 in Delphi 2007 IDe from * Tiburon.zip * distribution ********************************************************************************** - 0 What version of Indy I have in my IDE? To find out.. Create a new VCL project with a form and drag whatever of the components that are in the IDE Indy tool palette section (TIdTCPClient or other) then right click and select About Internet Direct (Indy)... You get a nice picture telling clearly what version yo've GOT -1 Download the Tiburon.zip distribution. At the time ofwriting You find the distribution at the following URI http://indy.fulgan.com/ZIP/ if it is not just google it I am sure you'll find something -2 Unzip the folder somewhere on your system or network.It contains a lot but do not dispair -3 Start your Delphi 2007 IDE and make sure no project is loaded, it has to be blank! -4 Now in Tools--Option you get a window with a tree and many branches but you care of just two things - Enviroment Variables: this a list of strings that allow Delphi 2007 IDE to shorten the system location names (brutally speaking!) - Library -Win32 under Delphi Options: this is quite more complicated and we go through it bit by bit in a simple way in the the following description.There is a help button in the RB corner and you mightwant to give a read to that in order to get an idea of what this is all about -5 Let's begin from *Library path* The IDE needs small blocks of code to make available all the features it is made of i.e. components for Run Time and design time and source code of these component for when you are debugging hence, you have a way to tell the IDE Where on the system it should look for these blocks. On my system for example the Enviromental Variable $(BDS) is C:\Program Files\CodeGear\RAD Studio\5.0 probably this is the case also on yours, but if not do not despair the substance won't change have a look here at my library path: $(BDS)\lib; $(BDS)\Source\Indy2009\System; $(BDS)\Source\Indy2009\Core; $(BDS)\Source\Indy2009\Protocols; $(BDS)\bpl; $(BDS)\Dcp; Yours doen't have to be the same this is just to give you an idea of what it might look like and now I am going to be more specific $(BDS)\lib; it's very likely also in your library path because there - Code Gear - Embarcadero or whoever makes the IDE put a lot of their stuff which is then used by the IDE itself. Do not touch anything here if you don't no what you are doing You might also have $(BDS)\lib\Indy10 (this contains the .dcu files for the Indy 10 library) this is the same as the $(BDS)\lib I have just talked about, but its importance is limited to the Indy features of the IDE. These are actually the features that you want to substitute with a newer version as you can see all these files begin with an Id- prefix and if you suspect that there might some other location of your system with such files do a search and find out! All these file must 'disappear' either hidden (I prefer this) or deleted to make room for those obtained from the Tiburon.zip you have downloaded, but let's do a step at a time.. What I did is simply to rename $(BDS)\lib\Indy10 with something like OldIndy_10_v1.1.5 because the version of Indy 10 I was using was the 1.1.5 (and I am going to upgrade to the 1.5.7). By renaming the folder the IDE will not see it the next time you restart it because this folder is not in the library path! Of course another option is just the removal of $(BDS)\lib\Indy10 from you library path without renaming anything, you choose the method you prefer most the substance is that the IDE must no longer see the old Indy 10 file rather it should see the new files -6 Some other Indy files are in $(BDS)\bin these are not dcu files, rather they are binary files that is .bpl file and also these must be hidden.Notice that $(BDS)\bin might not show in your library path but it is icluded by default in fact many aother .bpl files essential to the IDE are also here. These .bpl files are the result of the compilation of packages.You will compile some packages shortly The way I do this is to create a folder called Indy10_v1.1.5 this let me avoid deleting anything, you never know! What you should find here are the following ****** Run Time binary for Indy 10 ********** Indy100.bpl IndyCore100.bpl IndyProtocols100.bpl IndySystem100.bpl ****** Design Time for Indy 10 ******** dclindy100.bpl //put this away first dclIndyCore100.bpl //wait for step [8] to put this away dclIndyCore100.bpl //wait for step [8] to put this away ****** Som DLLs if you have RAD studio ****** dclIndyCore.dll dclIndyProtocols.dll ************ Some .jdbg files *************** Indy100.jdbg dclIndy100.jdbg I suspect the dlls are for CBuilder if you work with RAD Studio rather than with just Delphi ,but I do not knot this detail for sure you might find out it googling..the same goes for those .jdbg files I do not idea what they are for hence, I store them all together in a folder so that I might find out one day! As far as delphi is concerned instead the dcl.. files are the result of a compilation of Design Time packages and are those to used by the IDE to make available the Indy components on the tool palette while the Indy..100.bpl files are pretty much the same but contain only the Run Time part of the compile packages. To make it clear if you want to use the Indy components from the tool palette you need the IDE to find both and not just that tose that are dcl.. prefixed the Design Time must also be installed in the IDE and we'll do that shortly You could also decide that you do not need the Design Time part and in this case there is not *installation* process for the IDE to be performed and only the Run Time part of the newly compiled packages has to be found by the IDE. Follow up and you'll understand.. -7 At this point all the old files in $(BDS)\bin and $(BDS)\lib have been put aside in some folders I advice you to look also in C:\Windows\System32 here you should not find files for Indy like dlls or bpls even though you almost surely find som .bpl files if you find Indy files the story is the same store them in a folder well marked as old Indy something. Ipersonally did not find anything here! The other place is in your share document folder where RAD studio puts something, or you might put something. On my system for example C:\Documents and Settings\All Users\Documents\RAD Studio\5.0\Bpl C:\Documents and Settings\All Users\Documents\RAD Studio\5.0\Dcp I use these two folder to store some other .bpl and .dcp files of thirdy party or my own components and I did not find anything related to Indy here either but this might not in your case.Same story here to, put what you find aside in a safe folder. -8 Now you system should be clean of the old files ready to receive the file for the new version of Indy 10 that we are going to compile, but first a last thing! Indy 10 comes already installed when you buy the Delphi 2007 IDE and you find the components in the palette but now you have place the ([6]) ****** Design Time for Indy 10 ******** dclindy100.bpl dclIndyCore100.bpl //before unistall and put it away dclIndyProtocols100.bpl //before unistall and put it away away and if you close the IDE and reopen it you get an error because the IDE cannot find them any longer said that before closing the IDE you have to thell it that you want un-install the Indy components from the IDE hence, it will not try to load these Design Time code next time you open the IDE. To do this do Components--Install Packages you should get a list of Design time packages (.bpl files) that the IDE loads when open and you should find dclIndyCore100.bpl //before unistall and put it away dclIndyProtocols100.bpl //before unistall and put it away and you also should see there location as system folder when you select them.Remove them using the remove button, and if you think you have messed up something cancel and repeat until you are sure that just thes two packages are removed! After that put the dclIndyCore100.bpl //before unistall and put it away dclIndyProtocols100.bpl //before unistall and put it away away with the others. If then you restart the IDE and begin with a new Form you'll notice that the Indy component are no longer there. Eventually, your system is clean as if Indy 10 wasn't there in the first place. -9 Now we start with the second part of the job which consist of putting on the new Indy 10 File--Open Go to the IndyTiburon folder you have unzipped earlier where you find three relevant subfolders -System -Core -Protocol Inside these there are the .dpk projects (delphi packageproject) that you need to compile to create the new Indy 10 (1.5.7) library files (.bpl files) load the following projects in the ordr they are listed IndySystem110.bpl IndyCore110.bpl IndyProtocols110.bpl dcIndyCore110.bpl dcIndyProtocols110.bpl Notice that now there is a 110 while we put away the 100 version of the files, the correspondence should be BDS2006 -- 100 RAD2007 -- 110 or 100 RAD2009 -- 120 RAD2010 --130 OR 140 (NOT SURE) I got this info here https://forums.embarcadero.com/thread.jspa?messageID=134027 -10 Let's compile! This is the part where you might get in trouble above all if you are running in MS Vista as I do ,the general advice is do notchange anything in the opsions of the 5 projects that are currently loaded in the IDE and that you are abot to compile. Go to Tool--Options you get the usal window, make sure that *package output directory* points to a directory on your system that the IDE can see (no antivirus or thing like that, no network restriction and similar) for instance I decided to point to a folder like $(BDS)\bin\CurrentIndy10_1.5.7 Where I created a new * CurrentIndy10_1.5.7 * that will contain everything about the new Indy 10 ,this solution is not elegant but it is practical and if you upadte regularly makes it easier to repeat the process. Hence after compilation the output of the compilation process will be sent to this folder and as you compile the list of the .bpl and .dcp files will grow, but let's do the first bit Select IndySystem110.bpl and Compile as I said if the system is clean and there are not restriction of the system to writing data to the output folder and so on you should get the IndySystem110.bpl IndySystem110.dcp compiled into the folder hurray! If you get an error it is probably the case in which you cannot write there or the IDE is not cleaned but you should not get an error on compiling IndySystem110.bpl Now you might think that you can go on to IndyCore110.bpl and you are right except for the fact that you might fail the compilation with an error, why? Well, chances are that the $(BDS)\bin\CurrentIndy10_1.5.7 is not in the IDE library path. This is essential because to compile IndyCore110.bpl the compiler will need to find the the IndySystem110.bpl ( and the IndySystem110.dcp ) infact if you look in the Project Manager for the IndyCore110.bpl project in its Required folder you'll find that it needs rtl.dcp (Runtime Library of VCL on which almost any .bpl project depends on ) IndySystem110.dcp (the one the you've just compiled!) Hence Tool--Options and add the library path $(BDS)\bin\CurrentIndy10_1.5.7 now recompile the project IndyCore110.bpl and you should get a successful compilation and the list of files in the $(BDS)\bin\CurrentIndy10_1.5.7 grows At this point you understand that the series IndySystem110.bpl IndyCore110.bpl IndyProtocols110.bpl dcIndyCore110.bpl dcIndyProtocols110.bpl must be respected because any project requires something that was compiled in the step the precedes -11 Now if you want the Design time Support that is the Indy components to be installed in the tool palette you need to perform another step. Yo might decide to do without this but I find better to have the tool palette with the Indy comps on yOU MIGHT NOT KNOW this but if you right click on IndySystem110.bpl and select options in the *Description* section you'll find the **Runtime only** option selected while for dcIndyCore110.bpl dcIndyProtocols110.bpl you'll find the ** Design time ** option selected that confirm what I anticipated earlier Only dcIndyCore110.bpl dcIndyProtocols110.bpl will be installed being DT packages Select the first and right click then select INSTALL and you get a message saying that a nuber of components have been reghistered with the IDE, finally repeat with the last project and you get the same kind of message You can check that everything is ok go to Components--Install Packages and you get the list of installed Design Time pachages where you oght to find dcIndyCore110.bpl dcIndyProtocols110.bpl from $(BDS)\bin\CurrentIndy10_1.5.7 You are done. Now last check. Create a new VCL project with a form and drag whatever of the components that are in the IDE Indy tool palette section (TIdTCPClient or other) then right click and select About Internet Direct (Indy)... You get a nice picture telling clearly what version yo've just installed -12 Source code and .dcu files? If you stop your effort now you will be able to use the new Indy 10 1.5.7 but you will not be able to debug properly and compile. This is because you need to tell the IDE where it can find .dcu files = delphi compiled units and the .pas = source code for these unit These can be BUILT (when you buid instead of compiling) and in this case in addition to .bpl and .dcp you get also .dcu files then to store the .dcu you have to select the project you want to build in the project manager and open the options page and in the section Directories/Conditional the Output directory should point where you want the .dcu files to be written. In general though you don't need to build because the IndyTiburon folder that you dowloaded already contains all the .pas and .dcu files you need this is why I compiled and not built! Either way compile or Build then you have to tell the IDE where the .pas and .dcu can be found and that is done adding the library path of the (Where you put it..)/IndyTiburon/Lib /System /Core /Protocols And do not forget to remove the reference to C:\Program Files\CodeGear\RAD Studio\5.0\source\Indy\Indy10\ here you had the source code for the Indy 1.1.5 (old) version change name to the folder and avoid the IDE mistake this for the right code in the (Where you put it..)/IndyTiburon/Lib /System /Core /Protocols IN REGARD the old dcu files these were $(BDS)\lib\Indy10 but if you have changed this directory and removed all the reference to it in Tool -- Options --Library -Win 32 in -Library Path -Browsing Path -Debug DCU path and added the refences to the (Where you put it..)/IndyTiburon/Lib /System /Core /Protocols then you are done for real and you'll be able to compile and debug properly with the new Indy 10 library you have just installed ******************************************************************************************************************** Other links you might want to visit and that I thank for the help given to me https://forums.embarcadero.com/thread.jspa?threadID=23496 htthttps://forums.embarcadero.com/thread.jspa?messageID=134027 http://forums2.atozed.com/viewtopic.php?f=7&t=3110&p=5074 http://forums2.atozed.com/viewtopic.php?f=7&p=2445 https://forums.embarcadero.com/thread.jspa?threadID=34955&tstart=0 https://forums.embarcadero.com/thread.jspa?threadID=19011 https://forums.embarcadero.com/thread.jspa?threadID=25267&tstart=0 https://forums.embarcadero.com/thread.jspa?messageID=130770 https://forums.embarcadero.com/thread.jspa?messageID=13402