Delphi 2007 ZeosLib 7.2 error identifier FClientCP

The forum for ZeosLib 7.2 Report problems. Ask for help, post proposals for the new version and Zeoslib 7.2 features here. This is a forum that will be edited once the 7.2.x version goes into RC/stable!!

My personal intention for 7.2 is to speed up the internals as optimal a possible for all IDE's. Hope you can help?! Have fun with testing 7.2
Post Reply
Daniele70
Fresh Boarder
Fresh Boarder
Posts: 6
Joined: 15.09.2023, 16:42
Location: Italia

Delphi 2007 ZeosLib 7.2 error identifier FClientCP

Post by Daniele70 »

Due to a recent problem I want to migrate from 6.6.6 to 7.2 as suggested.
On a test computer I installed Delphi 2007 and ZeosLib 7.2.14. The components at designtime are visible and I can integrate them. If I use the ZConnection component I can connect to the db.
If I compile the project I get a FClientCP identifier compilation error.
Where am I wrong?

I downloaded Zeos from sourceforge and followed the installation procedure I followed with 6.6.6.
Where can I find complete instructions for correct installation?
Thank you
User avatar
aehimself
Zeos Dev Team
Zeos Dev Team
Posts: 797
Joined: 18.11.2018, 17:37
Location: Hungary

Re: Delphi 2007 ZeosLib 7.2 error identifier FClientCP

Post by aehimself »

What exactly do you mean by "FClientCP identifier compilation error"? Can you please post the exact error message?

Installation steps roughly are...

1, Extract the package somewhere
2, Add Zeos's source, and it's subdirectories to your library path
3, Open the .groupproj for your Delphi version
4, Build all packages, one-by-one, starting from the top to bottom
5, Finally, install the design time package into your IDE.

In case Delphi 2007 doesn't have a group project, open and build the following packages in this order:
- ZCore
- ZPlain
- ZParseSQL
- ZDbc
- ZComponent
and finally build and install:
- ZComponentDesign
Delphi 12.2, Zeos 8 from latest GIT snapshot
Using:
- MySQL server 8.0.18; libmysql.dll 8.0.40 x64 5.7.19 x68, libmariadb.dll 3.3.11
- Oracle server 11.2.0, 12.1.0, 19.0.0; oci.dll 21.15
- MSSQL 2012, 2019; sybdb.dll FreeTDS_3102
- SQLite 3.47
miab3
Zeos Test Team
Zeos Test Team
Posts: 1310
Joined: 11.05.2012, 12:32
Location: Poland

Re: Delphi 2007 ZeosLib 7.2 error identifier FClientCP

Post by miab3 »

Delete all old ZEOS files and:
viewtopic.php?f=3&t=44184

Michal
User avatar
aehimself
Zeos Dev Team
Zeos Dev Team
Posts: 797
Joined: 18.11.2018, 17:37
Location: Hungary

Re: Delphi 2007 ZeosLib 7.2 error identifier FClientCP

Post by aehimself »

I'd argue against setting the DCU location in the library path for multiple reasons:
- If a developer is changing anything in the source, recompiling the affected package each time to be able to test the change is unnecessary
- If a user clones Zeos from Git / downloads the .zip from SF, after each upgrade (git pull / new ZIP) the whole package needs to be recompiled for the changes to take effect. Less of an issue as we are talking about situations when patches are applied, but still
Basically the only situations when I say using DCUs are justified are if someone "installs and forgets" which is not advisable due to the lack of further patches OR if your project is so large that you want to shave time on compilation. My main project atm is ~500k LoC and compiles in 15 seconds so we are talking about 1,5M+ LOC in my opinion.

Anyway - using DCUs or PAS is dividing Delphi developers since ages. It will come down to your own personal taste when you already know what are the pros and cons of each.

P.s.: using the sources (setting the source folder of Zeos, not the DCU) is easier when it comes to first installation / beginners as you set it and everything just works. When using DCUs you need to set Debug DCU path and Browsing path too for the full experience.
Delphi 12.2, Zeos 8 from latest GIT snapshot
Using:
- MySQL server 8.0.18; libmysql.dll 8.0.40 x64 5.7.19 x68, libmariadb.dll 3.3.11
- Oracle server 11.2.0, 12.1.0, 19.0.0; oci.dll 21.15
- MSSQL 2012, 2019; sybdb.dll FreeTDS_3102
- SQLite 3.47
miab3
Zeos Test Team
Zeos Test Team
Posts: 1310
Joined: 11.05.2012, 12:32
Location: Poland

Re: Delphi 2007 ZeosLib 7.2 error identifier FClientCP

Post by miab3 »

.dcu was invented so that you wouldn't have to compile .pas every time.
There is no need to waste time and multiply files on the disk.
Of course, if you frequently modify libraries, you should indicate the .pas directory

Michal
Daniele70
Fresh Boarder
Fresh Boarder
Posts: 6
Joined: 15.09.2023, 16:42
Location: Italia

Re: Delphi 2007 ZeosLib 7.2 error identifier FClientCP

Post by Daniele70 »

Thanks for your answers.
Even though I followed the same clean installation procedure of zeoslib on a new installation of Delphi 2007 after installing designtime and setting the path to the zeos .pas, the error is the one mentioned in my first post.
From your answers I understood it was just a path problem and so I eliminated the path to the zeos pas from the library path and then set only the path to the build:
packages\delphi2007\build
Now works.
But in this way if I wanted to debug the zeos pas together with the rest of my source code should I also add the paths to the paths of the zeoslib components to the path of the delphi library? Is it possible to clarify these aspects clearly in the documentation?
miab3
Zeos Test Team
Zeos Test Team
Posts: 1310
Joined: 11.05.2012, 12:32
Location: Poland

Re: Delphi 2007 ZeosLib 7.2 error identifier FClientCP

Post by miab3 »

To indicate library sources for debugging, use:
Browsing path

Michal
User avatar
aehimself
Zeos Dev Team
Zeos Dev Team
Posts: 797
Joined: 18.11.2018, 17:37
Location: Hungary

Re: Delphi 2007 ZeosLib 7.2 error identifier FClientCP

Post by aehimself »

If it works with the DCU location but not the source it means you didn't include all sorce folders in the library location:

$(ZEOS)\src
$(ZEOS)\src\component
$(ZEOS)\src\core
$(ZEOS)\src\dbc
$(ZEOS)\src\parsesql
$(ZEOS)\src\plain
$(ZEOS)\src\webservice

where $(ZEOS) is the root of your local Zeos component installation.

If you stick with the DCU location in the library location you have to set it up as follows:
Library location: RELEASE compiled DCUs
Debug DCU path: DEBUG compiled DCUs
Browsing path: All the folders above, where the source files are located. Needed for debugging and code navigaion also.
Delphi 12.2, Zeos 8 from latest GIT snapshot
Using:
- MySQL server 8.0.18; libmysql.dll 8.0.40 x64 5.7.19 x68, libmariadb.dll 3.3.11
- Oracle server 11.2.0, 12.1.0, 19.0.0; oci.dll 21.15
- MSSQL 2012, 2019; sybdb.dll FreeTDS_3102
- SQLite 3.47
marsupilami
Platinum Boarder
Platinum Boarder
Posts: 1956
Joined: 17.01.2011, 14:17

Re: Delphi 2007 ZeosLib 7.2 error identifier FClientCP

Post by marsupilami »

aehimself wrote: 03.10.2023, 07:57 $(ZEOS)\src\webservice
It shouldn't be necessary to add the webservice folder. The webservice folder is the home of the webservice server. All files that the webservice client needs are in the dbc path already.
I just had no idea how to organize things in a better way. Maybe wevservice needs to be renamed to webserviceserver?
Daniele70
Fresh Boarder
Fresh Boarder
Posts: 6
Joined: 15.09.2023, 16:42
Location: Italia

Re: Delphi 2007 ZeosLib 7.2 error identifier FClientCP

Post by Daniele70 »

Thanks everyone for the information. Now works!
Post Reply