Zeos 7.2 and 8.0 on same delphi and same pc at the same time

The offical for ZeosLib 7.3 Report problems, ask for help, post proposals for the new version of Zeoslib 7.3/v8
Quick Info:
-We made two new drivers: odbc(raw and unicode version) and oledb
-GUID domain/field-defined support for FB
-extended error infos of Firebird
-performance ups are still in queue
In future some more feature will arrive, so stay tuned and don't hassitate to help
Post Reply
louis
Expert Boarder
Expert Boarder
Posts: 107
Joined: 02.01.2009, 19:41

Zeos 7.2 and 8.0 on same delphi and same pc at the same time

Post by louis »

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.
miab3
Zeos Test Team
Zeos Test Team
Posts: 1309
Joined: 11.05.2012, 12:32
Location: Poland

Re: Zeos 7.2 and 8.0 on same delphi and same pc at the same time

Post by miab3 »

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
marsupilami
Platinum Boarder
Platinum Boarder
Posts: 1918
Joined: 17.01.2011, 14:17

Re: Zeos 7.2 and 8.0 on same delphi and same pc at the same time

Post by marsupilami »

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
  • 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
For Zeos 8.0 I replace them with
  • 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
As Michal noted, there are some differences between Zeos 7.2 and Zeos 8.0:

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
louis
Expert Boarder
Expert Boarder
Posts: 107
Joined: 02.01.2009, 19:41

Re: Zeos 7.2 and 8.0 on same delphi and same pc at the same time

Post by louis »

Hello,
Zeos 7.2 is installed in Delphi.
In that case the new 8.0 components are not visible/Installed, is right?

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
marsupilami
Platinum Boarder
Platinum Boarder
Posts: 1918
Joined: 17.01.2011, 14:17

Re: Zeos 7.2 and 8.0 on same delphi and same pc at the same time

Post by marsupilami »

Hello louis,
louis wrote: 28.12.2022, 19:29
Zeos 7.2 is installed in Delphi.
In that case the new 8.0 components are not visible/Installed, is right?
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.
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"" ?
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.

With best regards,

Jan
Post Reply