superc 0 Posted December 13, 2022 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
Fr0sT.Brutal 900 Posted December 13, 2022 (edited) Just try packages for 10.x Official GH repo is https://github.com/marsupilami79/zeoslib Edited December 13, 2022 by Fr0sT.Brutal 1 Share this post Link to post
programmerdelphi2k 237 Posted December 13, 2022 if none "internal" types was changed... you can create your "packages" File, New, Packages.... now, add all units that you find on RAD v10 (how to know: just open the RAD v10 package and see the names) 1 Share this post Link to post
DelphiUdIT 178 Posted December 13, 2022 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
Fr0sT.Brutal 900 Posted December 14, 2022 (edited) 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 December 14, 2022 by Fr0sT.Brutal Share this post Link to post
miab 25 Posted December 14, 2022 https://sourceforge.net/p/zeoslib/code-0/HEAD/tree/trunk/ Share this post Link to post
superc 0 Posted December 14, 2022 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. Share this post Link to post
Lajos Juhász 293 Posted December 14, 2022 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
superc 0 Posted December 14, 2022 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
Fr0sT.Brutal 900 Posted December 14, 2022 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
superc 0 Posted December 14, 2022 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
Fr0sT.Brutal 900 Posted December 14, 2022 If LoadLibrary on that DLL being executed in an empty project works? Share this post Link to post
miab 25 Posted December 14, 2022 Place the 32 bit version of the dll in SysWOW64 and the 64 bit version in System32. 1 Share this post Link to post
aehimself 396 Posted December 14, 2022 (edited) 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 December 14, 2022 by aehimself Share this post Link to post
aehimself 396 Posted December 14, 2022 (edited) 11 hours ago, superc said: it seems to be a known bug https://blogs.embarcadero.com/rad-studio-11-2-alexandria-patch-1-available/ 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. Edited December 14, 2022 by aehimself Share this post Link to post
Fr0sT.Brutal 900 Posted December 15, 2022 Also probably the library itself is OK but required MSVCR shit is missing Share this post Link to post
superc 0 Posted December 15, 2022 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
aehimself 396 Posted December 15, 2022 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
superc 0 Posted December 15, 2022 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
aehimself 396 Posted December 15, 2022 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
superc 0 Posted December 15, 2022 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
aehimself 396 Posted December 15, 2022 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
miab 25 Posted December 15, 2022 (edited) Yoy can use: {$IFNDEF WIN64} set path LIB32 {$ELSE} set path LIB64 {$ENDIF} Edited December 15, 2022 by miab Share this post Link to post
Fr0sT.Brutal 900 Posted December 15, 2022 (edited) I was sure the manner of trashing Windows folder with 3rd party libs have gone long ago. Edited December 15, 2022 by Fr0sT.Brutal Share this post Link to post
superc 0 Posted December 16, 2022 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 Share this post Link to post