0

My Win7 now installed RAD Studio 2010 with Delphi 2010, can I install Delphi XE3 separately? So both Delphi 2010 and XE3 work on the same Windows?

Thanks!

Jeroen Wiert Pluimers
  • 23,965
  • 9
  • 74
  • 154
RRN
  • 1,127
  • 1
  • 12
  • 37

2 Answers2

4

Yes you can. You can install all versions of Delphi side by side on a single machine. I'm currently sitting at a machine with D6, 2010, XE, XE2 and XE3.

Different people have different ways to organise side by side installations. I personally remove all references to Delphi from my system PATH variable. Then if I need to do anything at the command line I make sure I execute the rsvars.bat for the target version. That sets all the environment variables needed for that Delphi version. At that point executing dcc32.exe results in the target version of the command line compiler being invoked.

David Heffernan
  • 601,492
  • 42
  • 1,072
  • 1,490
  • 1
    I even can get two or three delphi versions on the same computer without isolating the system PATHs, however at some point, the PATH gets long enough that things start to break, so David's idea of isolating paths is excellent. If you don't rename all your BPL packages each time you build them for a new delphi IDE, then such isolation isn't optional, it's critical. – Warren P Oct 04 '12 at 14:10
  • One of the things I never bothered to sort out (since I have everything in different VMs) is the Just-In-Time debugger that fires when an app crashes outside the debugger.. Do you have some guidance on that? (Maybe I should make that a separate question, let me know if that is a good idea). – Jeroen Wiert Pluimers Oct 04 '12 at 16:58
  • 1
    @JeroenWiertPluimers Sorry, I know nothing about that and never use it myself. We rely on madExcept diagnostics and I think that's generally better because we collect the info whether or not the JIT debugging is configured. – David Heffernan Oct 04 '12 at 18:00
  • I'll make this a separate question. – Jeroen Wiert Pluimers Oct 05 '12 at 07:34
  • Does it mean each time when I try to compile Delphi7 project, I should put back the Delphi7 PATH variables; do the same for XE?? – RRN Jan 15 '13 at 12:50
  • @RRN XE will have an rsvars.bat. For Delphi 7 I think you need to make your own equivalent. – David Heffernan Jan 15 '13 at 12:55
  • Also if I don't build project at the command line, do I still need to worry about this? – RRN Jan 15 '13 at 13:36
  • rsvars.bat is in the delphi bin dir and sets up environment variables needed to run command line tools. It's well documented in the help. From IDE, all this is taken care of by IDE. – David Heffernan Jan 15 '13 at 13:47
3

They should work. However some certain components might be buggy like different versions of BDE or maybe different versions of remote debugger core. But in general if you install lesser version with updates and then install more newer one - it should work. Unless some bugs happen.


But when you'd compile your projects or libraries, if you want to use both IDEs you should be very accurate about DCU and DCP paths, BPL names and such, so they would not be mixed in same place. DCU and DCP should be written into and searched in different folders. BPL names should have version-denoting suffix to them. and such.

Arioch 'The
  • 15,799
  • 35
  • 62
  • The version suffixes (or just plain renaming the .dpk file so that the name ends in an identifier specific to that delphi version like MyComponentsD15) is key to having multiple delphi versions on your computer, and is always a good idea, even if you only keep one version at a time on your computer. – Warren P Oct 04 '12 at 14:11
  • @WarrenP if u want to have one building(or testing, or installer-making) script, then having same names are more easy. – Arioch 'The Oct 05 '12 at 06:07
  • What would you do if your clients installed MyDll.bpl from one version and MyDll.bpl from another Delphi version together on the same machine and put both in their path? Easier for you on day 1 isn't the same as easier for you on day 720 of supporting it. :-) – Warren P Oct 05 '12 at 19:27
  • 1) they just would not run. Those are BPLs not DLLs. 2) there is LibSuffix or such. One DPK file may produce different BPL files, though i can hardly tell why should i have such unless i am developing the library (which i do not) – Arioch 'The Oct 06 '12 at 14:27
  • A BPL is a DLL, and DLL hell and BPL hell are roughly the same thing. Yes LibSuffix is acceptable, as is carefully guarding your paths and not deploying to shared folders. – Warren P Oct 06 '12 at 15:24
  • @Warren since i am talking of my own application, yes BPLs are not shared. And random name clashes can happen between unrelated programs with suffixes or without those. – Arioch 'The Oct 06 '12 at 19:44