Page 1 of 1

Installing 7.3

Posted: 14.02.2021, 08:43
by stoffman
Hi ,

I'm not sure what to install, I looked at the https://github.com/marsupilami79/zeoslib repository, and there are the _master_ and the _8.0patches_ branches. which one to use?

Another question, can I install 7.3/8.0 side by side with 7.2?

I'm using Lazarus/Win64 2.0.10

Thanks

Re: Installing 7.3

Posted: 14.02.2021, 09:11
by marsupilami
Hello Stoffman,

currently 8.0-patches and master are nearly the same. 8.0-patches will be released as a new stable 8.0 version whereas master will be receiving new features that take time to mature.

I am not sure if it is possible to install Zeos 7.2 and 8.0 side by side with Lazarus. On Delphi it can be done although it might not be easy:
  • Zeos 7.2 uses the TParam class whereas Zeos 8.0 introduced the new TZParam class. You can check on which version of Zeos you are by checking for the definition of the Zeos80 const from ZDataset.pas:

    Code: Select all

    uses someunit, ZDataset, {$IF DECLARED(Zeos80)}, ZDatasetParam{$ENDIF};
    
    var
      MyParam: {$IF DECLARED(Zeos80)}TZParam{$ELSE}TParam{$ENDIF};
  • Zeos 7.2 has a Connection property named AutoEncodeStrings. That would have to be reintroduced to be able to load form files that were saved with Zeos 7.2. See the attached patch file.
  • Zeos 8.0 might map database fields to other field types. We had some changes in driver mappings as well as the general use of TBCDField and TFMTBCDField. So you might want to check your programs for typecasts. This also can lead to surprises when you have persistent fields in your application. And last but not least we have our own Zeos Field types now. So a form file saved with Zeos 8.0 that has persistent fields cannot be read by an application linked against Zeos 7.2.
So - while it is technically possible, it can lead to side effects and can be a bit of a challenge.

Re: Installing 7.3

Posted: 17.02.2021, 22:12
by stoffman
Thank you for the detailed answer.

For future generation I would like to add that you should also have a look at the protocol in TZConnection as the names are different. It didn't produce any visible error but the query just didn't complete...