Jump to content
superc

Zeos on Delphi 11.2

Recommended Posts

Hello,

 

I'm installed Delphi 11.2 and I want to install Zeos: on package downloaded from https://sourceforge.net/projects/zeoslib/ not seem possible to install why on package directory the relative folder for Delphi 11 is not present; Looking around I found this repository https://github.com/frones;

I was wondering if anyone has installed these components or if in general anyone uses Zeos with Delphi 11,

 

Thanks in advance.

Share this post


Link to post

if none "internal" types was changed... you can create your "packages"

  1. File, New, Packages....
  2. now, add all units that you find on RAD v10 (how to know: just open the RAD v10 package and see the names)
  • Like 1

Share this post


Link to post

Download from the official GH repository. Unzip to a folder of your liking.

In the Packages\DelphiXE10.4 directory open the group project ZeosDbo.groupproj

For each single project present, go under options and change, UNDER THE ITEM DESCRIPTION, libsuffix with the value 280

BUILD ALL, after that INSTALL "ZComponentDesign280.bpl".

All should be done as Windows 32 as target platform.

After that close all.

Restart IDE, go to TOOL/OPTIONS/Language/Delphi/Library.

Select the Platform and in the Library path you must add the path to the SRC subfolders (includes SRC) ... core, component, dbc, parsesql, plain.

You must add in the Library Path of every Platforms that you want to use (Windows 32 and WIndows 64 for example).

Now you are ready to use Zeos, but ... in the repository (lib) there are only drivers for 32 bit DB. You must install the runtime DB (FireBird x64 for example) to use it in the 64 bit application.

Bye

Share this post


Link to post
13 hours ago, DelphiUdIT said:

For each single project present, go under options and change, UNDER THE ITEM DESCRIPTION, libsuffix with the value 280

BUILD ALL, after that INSTALL "ZComponentDesign280.bpl".

This is excess. Just Install ZComponentDesign.dproj.

Restarting is excess too.

Edited by Fr0sT.Brutal

Share this post


Link to post

Thanks to all, I'm installed version 7.2.14 correctly for Win32, but for Win64 I'm receive an error like in photo:

it seems to be a known bug

 

https://blogs.embarcadero.com/rad-studio-11-2-alexandria-patch-1-available/

 

however I still haven't been able to get them to work in 64bit; the same error is obtained by not loading the correct dlls for the platform, but I'm sure they are fine, because I got them from the 64bit PGAdmin installation.

 

Thanks in advance.

 

 

 

zeos4.jpg

Share this post


Link to post

you should double check the path of the file the package tries to load. If the name of the dll is same for 32 and 64 bits there is always a possibility that windows first locates the 32 bit version.

Share this post


Link to post

for testing I compiled in 32 bit with the dll which should be in 64 bit on a different path and it gives me the error; I set the correct libpq path for 32bit and the 32bit application works, so I guess that's not the problem.

Share this post


Link to post
1 hour ago, superc said:

I'm receive an error

Try to connect to DB at runtime so that loading a client DLL won't be affected by any IDE presets.

Share this post


Link to post

I'm tryied now to set LibraryLocation on runtime but I'm obtain same error, it's so frustating. But the question is, on Delphi 11.2 someone use Zeos on 64 bit?

Share this post


Link to post

Place the 32 bit version of the dll in SysWOW64 and the 64 bit version in System32.

  • Like 1

Share this post


Link to post
10 hours ago, superc said:

I'm tryied now to set LibraryLocation on runtime but I'm obtain same error, it's so frustating. But the question is, on Delphi 11.2 someone use Zeos on 64 bit?

I do, on a daily basis; I'm not connecting to PostgreSQL though (Oracle, MsSQL, MySQL and sometimes SQLite are my main targets). I can confirm that Zeos works on 64 bit with D11.2.

 

The error above means that the given library was found but can not be used for whatever reason (LoadLibrary failed). I am playing this with MySQL x86 lately, as probably the DLL is so out-of-date (Oracle is not providing a fresh libmysql.dll for a while) that some needed functions do not exist.

If you are absolutely sure the architecture of the DLL matches your project target, try using a more recent version. Or an alternative, if that exists - in my example, libmariadb.dll x86 works just fine.

 

Edit: consider using Zeos 8. It's not yet considered as "release-ready" officially but it's rock solid and brings some great improvements. Afaik, it mostly lacks documentation only.

Edit-edit: Zeos 8 comes with a D11 package so you can just double-click and install.

Edited by aehimself

Share this post


Link to post
11 hours ago, superc said:

The bug you mention has nothing to do with Zeos. Delphi 11 messed up the default library location and attempted to use 32bit DCUs on Win64 platforms. You can even correct it by hand after installation, there was even a post about it here in the D11 thread. I believe this was the faulty entry, just add "\Win64" after it and it starts to work.

Capture.PNG

 

 

Edited by aehimself

Share this post


Link to post
9 hours ago, aehimself said:

The bug you mention has nothing to do with Zeos. Delphi 11 messed up the default library location and attempted to use 32bit DCUs on Win64 platforms. You can even correct it by hand after installation, there was even a post about it here in the D11 thread. I believe this was the faulty entry, just add "\Win64" after it and it starts to work.

 

 

Hello, I patched Delphi11 and set correctly Ide for work with 64 bit, infact directory "C:\Users\Public\Documents\Embarcadero\Studio\22.0\Dcp\Win64" has dcp compiled for 64 bit; When compile Zeos for 64 bit ZComponentDesign not compile for 64 bit with error:

 

[dcc64 Fatal Error] ZComponentDesign.dpk(36): E2202 Required package 'designide' not found. It's normal?

 

39 minutes ago, Fr0sT.Brutal said:

Also probably the library itself is OK but required MSVCR shit is missing 

 

Where i can download it?

 

Thanks in advance.

 

 

 

Share this post


Link to post
Just now, superc said:

When compile Zeos for 64 bit ZComponentDesign not compile for 64 bit with error:

 

[dcc64 Fatal Error] ZComponentDesign.dpk(36): E2202 Required package 'designide' not found. It's normal?

Completely. Pure design time packages can only be compiled in 32 bit as the Delphi IDE itself is 32 bit only.

If the runtime packages already compiled to 64 bit you are good to go. Just install the design time package and start coding 🙂

Share this post


Link to post

Resolved! I not set LibraryLocation and I moved 32bit dll into directory of executable of 32 bit and the same thing with the 64 bit dll ....

Thanks to All.

Share this post


Link to post

In theory LibraryLocation should work just fine, I'm using it in my main application without issues. There's no reason copying it right next to the executable would be needed.

This might worth looking into.

 

Can this be reproduced in a minimal app?

Share this post


Link to post

Yes, but it's all clear, because in the ide if I compile for 32 bit App and I want to open zConnection and query I must set LibraryLocation with libpq.dll for 32 bit; if I want compile a 64 bit I must set LibraryLocation in the code or put the dll in the directory of executable.

Share this post


Link to post

Aaaah, okay, it's clear now. I thought LibraryLocation isn't working for you for some reason.

@miab's version is a lot more elegant though, that way all your apps can access their correct version of DB libs without any further effort.

Share this post


Link to post

Yoy can use:

{$IFNDEF WIN64}
set path LIB32 
{$ELSE}
set path LIB64
{$ENDIF}
Edited by miab

Share this post


Link to post

I was sure the manner of trashing Windows folder with 3rd party libs have gone long ago.

Edited by Fr0sT.Brutal

Share this post


Link to post
15 hours ago, Fr0sT.Brutal said:

I was sure the manner of trashing Windows folder with 3rd party libs have gone long ago.

Sometimes they come back

 :classic_biggrin:

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×