Page 1 of 1

Delphi 2007 ZeosLib 7.2 error identifier FClientCP

Posted: 01.10.2023, 08:51
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

Re: Delphi 2007 ZeosLib 7.2 error identifier FClientCP

Posted: 02.10.2023, 18:44
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

Re: Delphi 2007 ZeosLib 7.2 error identifier FClientCP

Posted: 02.10.2023, 19:22
by miab3
Delete all old ZEOS files and:
viewtopic.php?f=3&t=44184

Michal

Re: Delphi 2007 ZeosLib 7.2 error identifier FClientCP

Posted: 02.10.2023, 20:21
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.

Re: Delphi 2007 ZeosLib 7.2 error identifier FClientCP

Posted: 02.10.2023, 23:17
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

Re: Delphi 2007 ZeosLib 7.2 error identifier FClientCP

Posted: 03.10.2023, 05:54
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?

Re: Delphi 2007 ZeosLib 7.2 error identifier FClientCP

Posted: 03.10.2023, 07:31
by miab3
To indicate library sources for debugging, use:
Browsing path

Michal

Re: Delphi 2007 ZeosLib 7.2 error identifier FClientCP

Posted: 03.10.2023, 07:57
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.

Re: Delphi 2007 ZeosLib 7.2 error identifier FClientCP

Posted: 03.10.2023, 08:04
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?

Re: Delphi 2007 ZeosLib 7.2 error identifier FClientCP

Posted: 03.10.2023, 14:35
by Daniele70
Thanks everyone for the information. Now works!