Zeos 8 - draft of Release Notes

The offical for ZeosLib 7.3 Report problems, ask for help, post proposals for the new version of Zeoslib 7.3/v8
Quick Info:
-We made two new drivers: odbc(raw and unicode version) and oledb
-GUID domain/field-defined support for FB
-extended error infos of Firebird
-performance ups are still in queue
In future some more feature will arrive, so stay tuned and don't hassitate to help
Fr0sT
Zeos Dev Team
Zeos Dev Team
Posts: 280
Joined: 08.05.2014, 12:08

Re: Zeos 8 - draft of Release Notes

Post by Fr0sT »

miab3 wrote: 21.04.2023, 14:45 As for the D7, I wouldn't recommend Zeos8 for it, I get too many unexpected errors, it is true that testing on Windows11 (maybe too much hardcore).
Ouch, bad news. I was going to upgrade my D7 app to the fresh Zeos. The problem is that it used trunk 7.3 which has never been released and turned to 8 someday. And now I wonder what revision should I upgrade to...
miab3
Zeos Test Team
Zeos Test Team
Posts: 1310
Joined: 11.05.2012, 12:32
Location: Poland

Re: Zeos 8 - draft of Release Notes

Post by miab3 »

Zeos7.3 is renamed Zeos8 and so far it compiles for Delphi7 but I think Delphi7 is probably worth abandoning
in the context of Windows10 and especially 11 and in the perspective of 12.
https://en.wikipedia.org/wiki/History_o ... (software)

Michal
Fr0sT
Zeos Dev Team
Zeos Dev Team
Posts: 280
Joined: 08.05.2014, 12:08

Re: Zeos 8 - draft of Release Notes

Post by Fr0sT »

Yes it compiles but I was worrying about the errors you reported.
Upgrading is the option I wish to avoid - the app is not worth the efforts. So far I have no issues with D7-built apps on W10
miab3
Zeos Test Team
Zeos Test Team
Posts: 1310
Joined: 11.05.2012, 12:32
Location: Poland

Re: Zeos 8 - draft of Release Notes

Post by miab3 »

The problem I reported was a particular situation of using ZMemTable.

In fact, everything that compiles in Delphi 7 compiles without problems in subsequent
non-Unicode Delphi versions (not always the other way round). Unless you don't have all the
sources, then there's a problem.

I'm going to stay with Delphi2007 for a while, which has kept some modernity to this day,
and, for example, uses AnyDAC or mORMot.

Michal
marsupilami
Platinum Boarder
Platinum Boarder
Posts: 1956
Joined: 17.01.2011, 14:17

Re: Zeos 8 - draft of Release Notes

Post by marsupilami »

Honestly it't getting increasingly annoying to support these old versions. Here is what I did today and yesterday:

I tried to fix the compilation of ZDbcXmlUtils on Delphi 7 and other old versions. Delphi 7 decided to hit me with an access violation in dcl70.dll while reading from address 00000003.
Ok - now I know it doesn't like me for some reason but I don't know why. Trying to avoid this access violation has cost me hours yesterday. Today I gave it another try and it seems that disabling a debug otion - or maybe another option - got Delphi 7 in the mood to work with me again. Problems here: Delphi 7 doesn't know about TBytes, so has no TBytesStream. Also while introducing all the functions that convert numbers, dates, times and the like to string (DateTimeToStr, FloatToStr, ...) and allow to specify a TFormatSettings parameter they forgot to also make an overload for BCDToStr - which the ZDbcXmlUtils unit also uses...

So... When did they realize they forgot it? Delphi 2007, Delphi 2009 and Delphi XE 2 decided to hang during startup and not tell me why. That didn't happen before - ok. So I have to work around this because reinstalling all of them isn't an option right now - I don't have the time. Let's check the help systems. The help files for Delphi 2007 were available for download at one time and I still have them on file. So - Delphi 2007 supports TBytes but not the BcdToStr function I need. The Delphi 2009 help system didn't understand me and loaded the start page of the Delphi 11 Alexandria help system...
The Delphi 2010 help told me no - there is no BcdToStr overload with a TFormatSettings parameter. Ok - things should be easy from here right? Embarcadero has all the old help systems online starting from Delphi XE. Erm - no - they don't. Trying to access any of the old help systems of Delphi XE8 and below will get you a redirection to the help system of Delpi 11 Alexandria...
So - the Delphi XE2 help system rescued me - there I could see that Delphi XE2 has the overloaded function I need. But since Embarcadero decided to remove the old documentation, I cannot tell if Delphi XE already fixed it or not.

Really - sometimes it isn't about the work of programming something but about the work of keeping all those old compilers alive and having documentation around. So please upgrade. It makes life easier. And for those who care: I decided to do FloatToStr(BcdToFloat(IZResultset.GetAsFloat), ZXmlFormatSettings) to get something that compiles with older Delphis. Delphi 7 will simply throw an exception if somebody tries to store a blob type column because I didn't want to extend ZBase64 to be compatible too although it is possible.

I am sorry about the rant but it really cost me a lot of time to just get the code to even compile for older compilers. Right now I really wish we could abandon some of them. It would make life easier.
miab3
Zeos Test Team
Zeos Test Team
Posts: 1310
Joined: 11.05.2012, 12:32
Location: Poland

Re: Zeos 8 - draft of Release Notes

Post by miab3 »

Hi Jan;

Maybe this will be useful:
https://github.com/mwsrc/XtremeRAT/blob ... base64.pas

Michal
marsupilami
Platinum Boarder
Platinum Boarder
Posts: 1956
Joined: 17.01.2011, 14:17

Re: Zeos 8 - draft of Release Notes

Post by marsupilami »

Hello Michal,
miab3 wrote: 04.05.2023, 14:46 Maybe this will be useful:
https://github.com/mwsrc/XtremeRAT/blob ... base64.pas
Honestly no - it will not help. The problem isn't that Delpi 7 cannot encode Base64 - it can do so using the encddecd unit that is part of Delphis SOAP support. The problem is that the current Base64 support in Zeos is built upon using TBytes and I don't want to invest the time that is required to rewrite everything so Delphi 7 can use it. It's just to time consuming. I don't want to spend another 4 hours of my life to rewrite everything to use streams (which is perfectly possible and is the only thing the Delphi 7 encdecd unit can do) and make sure that all other compilers including FPC are happy with the outcome. If there is somebody out there who wants to do that - fine. But I simply don't have the time right now.
Right now I think about supporting writing and reading XML data with TZMemTable only on Delphi XE2+ because these versions have the functionality that is required.

With best regards,

Jan
miab3
Zeos Test Team
Zeos Test Team
Posts: 1310
Joined: 11.05.2012, 12:32
Location: Poland

Re: Zeos 8 - draft of Release Notes

Post by miab3 »

Hi Jan;

That might be it:
https://stackoverflow.com/questions/483 ... vice-versa

And here's a faster one (with x86 assembler inserts) for old Delphi:
https://www.delphipraxis.net/126888-bas ... i2009.html

Michal
Fr0sT
Zeos Dev Team
Zeos Dev Team
Posts: 280
Joined: 08.05.2014, 12:08

Re: Zeos 8 - draft of Release Notes

Post by Fr0sT »

miab3 wrote: 04.05.2023, 12:30 In fact, everything that compiles in Delphi 7 compiles without problems in subsequent
non-Unicode Delphi versions (not always the other way round). Unless you don't have all the
sources, then there's a problem.
Fair point. I revised the list of updates in 2005 and 2006 and it includes quite useful things. Besides class and record stuff, regions are so useful that I miss them in D7. I will consider upgrading to 2007. The reason I like D7 is that it's lightweight, fast and stable.
Post Reply