How to replace TZParam.LoadFromFile

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
Post Reply
tintinux
Junior Boarder
Junior Boarder
Posts: 46
Joined: 19.05.2010, 10:39
Contact:

How to replace TZParam.LoadFromFile

Post by tintinux »

Hi

In Zeos 8.0 the LoadFromFile method of the new type TZParam is marked as deprecated, and the message is "use Overload instead"
What does it mean ? Overload is a reserved word, can't be a method name...

Thanks
User avatar
aehimself
Zeos Dev Team
Zeos Dev Team
Posts: 812
Joined: 18.11.2018, 17:37
Location: Hungary

Re: How to replace TZParam.LoadFromFile

Post by aehimself »

A quick google search will give you the knowledge you are looking for. No, it does not mean you have to type "overload", but to use an other, overloaded version. The error message means the method you are calling is deprecated and possibly will be deleted soon. So you should call other methods (.LoadFromStream) or a different overload of the same method:

Code: Select all

Procedure MyMethod(Const inInput: Integer); Overload;
Procedure MyMethod(Const inInput: String); Overload;
Procedure MyMethod(Const inInput: TObject); Overload;
Delphi 12.2, Zeos 8 from latest GIT snapshot
Using:
- MySQL server 8.0.18; libmysql.dll 8.0.40 x64 5.7.19 x68, libmariadb.dll 3.3.11
- Oracle server 11.2.0, 12.1.0, 19.0.0; oci.dll 21.15
- MSSQL 2012, 2019; sybdb.dll FreeTDS_3102
- SQLite 3.47
marsupilami
Platinum Boarder
Platinum Boarder
Posts: 1999
Joined: 17.01.2011, 14:17

Re: How to replace TZParam.LoadFromFile

Post by marsupilami »

Hello tintinux,

it seems you are using the "procedure LoadFromFile(const FileName: String; BlobType: TBlobType)" overload. This overload is depreceated. Depending on what you want to load, you might want to switch to using to one of the code page aware overloads of LoadFromFile or to one of the LoadTextFromFile or LoadBinaryFromFile functions.

Best regards,

Jan
martinus
Fresh Boarder
Fresh Boarder
Posts: 6
Joined: 02.12.2024, 15:49
Contact:

Re: How to replace TZParam.LoadFromFile

Post by martinus »

In next versions, would it be possible to avoid removal of signatures ?
Or only after a deprecated clause for a long time in an intermediate version.

When signatures change, we have a lot of change to make in projects, and they become not backward compatible.

Thanks
marsupilami
Platinum Boarder
Platinum Boarder
Posts: 1999
Joined: 17.01.2011, 14:17

Re: How to replace TZParam.LoadFromFile

Post by marsupilami »

Hello martinus,
martinus wrote: 03.12.2024, 15:45 In next versions, would it be possible to avoid removal of signatures ?
Erm - this thread talks about a procedure that was marked as deprecated and was not removed. So we do exactly what you suggest. Are there methods that are missing?

Best regards,

Jan
User avatar
aehimself
Zeos Dev Team
Zeos Dev Team
Posts: 812
Joined: 18.11.2018, 17:37
Location: Hungary

Re: How to replace TZParam.LoadFromFile

Post by aehimself »

martinus wrote: 03.12.2024, 15:45In next versions, would it be possible to avoid removal of signatures ?
Unfortunately... the answer is no. The magic of developing almost anything (let it be a component library, a hardware kernel driver or an end user application) as time goes and you add more features things become... well, deprecated.

To give a practical example... I had an application where in the settings file I stored the last command the user entered. Later I added the possibility to connect to multiple places and just by that - I need a last command for each place. So for backwards compatibility my application will read and parse the standalone last command, knowing the fact that soon it will be removed.

I have to admit I did not check the code, I don't know why and who (Zeos or Embarcadero) marked a specific method obsolete. But I do trust the developer who put that deprecated warning there.
There are always people who know more than what we do.
Delphi 12.2, Zeos 8 from latest GIT snapshot
Using:
- MySQL server 8.0.18; libmysql.dll 8.0.40 x64 5.7.19 x68, libmariadb.dll 3.3.11
- Oracle server 11.2.0, 12.1.0, 19.0.0; oci.dll 21.15
- MSSQL 2012, 2019; sybdb.dll FreeTDS_3102
- SQLite 3.47
Post Reply