Hello,
I have only one pc and only one version of delphi installed (Delphi 2010 Professional)
I need to maintain software written with ZEOS version 7.2 but at the same time be able to develop the same software with ZEOS version 8.0.
Unfortunately, there are many changes to be made to the software in order to be upgraded to the ZEOS 8.0 version, and in the meantime I need to do maintenance on the previous version before sending the version with ZEOS 8.0 into production.
Currently I am forced to uninstall version 7.2 to install version 8.0 and vice versa wasting a lot of time.
I've tried using the -r switch from the delphi command line but it doesn't seem to serve the purpose or I don't really understand how to use it.
Is there any way to set up Delphi to have both ZEOS versions available?
Thanks.
Zeos 7.2 and 8.0 on same delphi and same pc at the same time
Re: Zeos 7.2 and 8.0 on same delphi and same pc at the same time
Unfortunately, Zeos7.2 and Zeos8 share many namespaces and cannot reside together.
But you can keep each of them in the Zeos72 and Zeos8 directories and for use rename one of them to Zeos
and rebuild the library(dpk group) before use.
Michal
But you can keep each of them in the Zeos72 and Zeos8 directories and for use rename one of them to Zeos
and rebuild the library(dpk group) before use.
Michal
-
- Platinum Boarder
- Posts: 1956
- Joined: 17.01.2011, 14:17
Re: Zeos 7.2 and 8.0 on same delphi and same pc at the same time
Hello Louis,
I do use Zeos 7.2 and Zeos 8 on the same PC and withthe same Delphi versions. For compiling against Zeos 7.2 or 8.0 I cange the unit search paths in the project options. Zeos 7.2 is checked out in c:\components\zeos-7.2 on my computer. Zeos 8.0 is checked out in c:\components\zeos-8.0 on my computer. Zeos 7.2 is installed in Delphi.
For using either Zeos 7.2 or 8.0 I change the unit search paths in the project options. For Zeos 7.2 I add
TZConnection.AutoencodeStrings: Zeos 7.2 has an AutoencodeStrings property in the TZConnection object which Zeos 8.0 doesn't have. To not get errors when loading DFM files, one can enable the WITH_FAKE_AUTOENCODESTRINGS define either in zeos.inc or in the project options. This will create an AutoencodeStrings which satifies the deserializer of Delphi but has no effect otherwise.
TZParams: Zeos 8.0 introduces its own parameter type TZParam. This is necessary to support batch DML on the component layer. But it can lead to problems on source code that is created with Zeos 7.2. There are two options to work around this:
1) Check in the source code if TZParam is defined and use it if it is available. Otherwise use TParam.
2) Disable TZParam altogether using the DISABLE_ZPARAM define either in the project options or in the zeos.inc file.
Option number two might be the right one if you have static TParam definitions in your dfm files.
Note: It makes sense to have a unit output path set in your project options. Otherwise Delphi might leave dcu files everywhere.
I hope this helps. If you have problems, please let me know.
Best regards,
Jan
I do use Zeos 7.2 and Zeos 8 on the same PC and withthe same Delphi versions. For compiling against Zeos 7.2 or 8.0 I cange the unit search paths in the project options. Zeos 7.2 is checked out in c:\components\zeos-7.2 on my computer. Zeos 8.0 is checked out in c:\components\zeos-8.0 on my computer. Zeos 7.2 is installed in Delphi.
For using either Zeos 7.2 or 8.0 I change the unit search paths in the project options. For Zeos 7.2 I add
- c:\components\zeos-7.2\src\core
- c:\components\zeos-7.2\src\parsesql
- c:\components\zeos-7.2\src\plain
- c:\components\zeos-7.2\src\dbc
- c:\components\zeos-7.2\src\component
- c:\components\zeos-8.0\src\core
- c:\components\zeos-8.0\src\parsesql
- c:\components\zeos-8.0\src\plain
- c:\components\zeos-8.0\src\dbc
- c:\components\zeos-8.0\src\component
TZConnection.AutoencodeStrings: Zeos 7.2 has an AutoencodeStrings property in the TZConnection object which Zeos 8.0 doesn't have. To not get errors when loading DFM files, one can enable the WITH_FAKE_AUTOENCODESTRINGS define either in zeos.inc or in the project options. This will create an AutoencodeStrings which satifies the deserializer of Delphi but has no effect otherwise.
TZParams: Zeos 8.0 introduces its own parameter type TZParam. This is necessary to support batch DML on the component layer. But it can lead to problems on source code that is created with Zeos 7.2. There are two options to work around this:
1) Check in the source code if TZParam is defined and use it if it is available. Otherwise use TParam.
2) Disable TZParam altogether using the DISABLE_ZPARAM define either in the project options or in the zeos.inc file.
Option number two might be the right one if you have static TParam definitions in your dfm files.
Note: It makes sense to have a unit output path set in your project options. Otherwise Delphi might leave dcu files everywhere.
I hope this helps. If you have problems, please let me know.
Best regards,
Jan
Re: Zeos 7.2 and 8.0 on same delphi and same pc at the same time
Hello,
I made two directory of the same project MyApp72 and MyApp80 to separate developping.
MyApp80 is a duplicate project of MyApp72
In the project options of MyApp80 I have this directory in search path:
"C:\Medisoft\ZEOSDBO720b\packages\Delphi2010\build" but i can't change it.
In the project Options on panel "Search Path" I have a empty stringlists on top and a list of search path on bottom but I can't edit bottom list.
May be that I need to write all directory on top stringlist to put the directory Zeos80 and uncheck "Inherit values from "Base"" ?
Thanks
In that case the new 8.0 components are not visible/Installed, is right?Zeos 7.2 is installed in Delphi.
I made two directory of the same project MyApp72 and MyApp80 to separate developping.
MyApp80 is a duplicate project of MyApp72
In the project options of MyApp80 I have this directory in search path:
"C:\Medisoft\ZEOSDBO720b\packages\Delphi2010\build" but i can't change it.
In the project Options on panel "Search Path" I have a empty stringlists on top and a list of search path on bottom but I can't edit bottom list.
May be that I need to write all directory on top stringlist to put the directory Zeos80 and uncheck "Inherit values from "Base"" ?
Thanks
-
- Platinum Boarder
- Posts: 1956
- Joined: 17.01.2011, 14:17
Re: Zeos 7.2 and 8.0 on same delphi and same pc at the same time
Hello louis,
With best regards,
Jan
Right - in that case Zeos 8.0 isn't installed in Delphi. You merely ask Delphi to first search for unit names in the Zeos 8.0 folder and this way Zeos 8.0 gets used instead of Zeos 7.2.
I cannot check with my Delphi 2010 currently. Usually there is a drop down box at the top of that window. You should select the "Base" configuration there and then adjust the search paths.louis wrote: ↑28.12.2022, 19:29 I made two directory of the same project MyApp72 and MyApp80 to separate developping.
MyApp80 is a duplicate project of MyApp72
In the project options of MyApp80 I have this directory in search path:
"C:\Medisoft\ZEOSDBO720b\packages\Delphi2010\build" but i can't change it.
In the project Options on panel "Search Path" I have a empty stringlists on top and a list of search path on bottom but I can't edit bottom list.
May be that I need to write all directory on top stringlist to put the directory Zeos80 and uncheck "Inherit values from "Base"" ?
With best regards,
Jan