I just upgraded from SDAC 8.1.7 to 8.2.9 and after build i get
E2003 Undeclared identifier: 'EmptyString'
The code I maintain is pretty old, did you remove EmptyString? Is it safe I declare a global const
const
EmptyString = '';
or not?
Removing EmptyString is a known breaking change? Why it is not listed in history?
Thanks.
After upgrading from 8.1.7 to 8.2.9 EmptyString is Undefined Identifier
Re: After upgrading from 8.1.7 to 8.2.9 EmptyString is Undefined Identifier
After reinstalling 8.1.7 I noticed that in fact EmptyString is a constant resolved like this
EmptyString = '' from System.string
but after installing 8.2.9 somehow this is not resolved anymore.
It seems that adding a global constant (in a unit where i define common things) bypasses the problem, but i'd like to have a comment from your side to confirm this behavior.
EmptyString = '' from System.string
but after installing 8.2.9 somehow this is not resolved anymore.
It seems that adding a global constant (in a unit where i define common things) bypasses the problem, but i'd like to have a comment from your side to confirm this behavior.
Re: After upgrading from 8.1.7 to 8.2.9 EmptyString is Undefined Identifier
I add more details:
with SDAC 8.1.7 I see:
while with SDAC 8.2.9 (without any other code change):
This is what i experience.
It seems that somehow upgrading from 8.1.7 to 8.2.9 EmptyString does not work anymore.
Since EmptyString does not exist in Delphi RTL I feel like SDAC up to now made it work.
I use Delphi 10 Seattle.
Thanks.
with SDAC 8.1.7 I see:
while with SDAC 8.2.9 (without any other code change):
This is what i experience.
It seems that somehow upgrading from 8.1.7 to 8.2.9 EmptyString does not work anymore.
Since EmptyString does not exist in Delphi RTL I feel like SDAC up to now made it work.
I use Delphi 10 Seattle.
Thanks.
Re: After upgrading from 8.1.7 to 8.2.9 EmptyString is Undefined Identifier
I add one last thing i noticed:
by seraching in source code (i have SDAC with source code even if i usually i use the simple installer) i realize that in 2 units you define EmptyString, in particular i see it in unit VirtualTable and SqlClasses.pas
Still i do not understand why the compiler shows "System.Classes".
Thanks.
by seraching in source code (i have SDAC with source code even if i usually i use the simple installer) i realize that in 2 units you define EmptyString, in particular i see it in unit VirtualTable and SqlClasses.pas
Still i do not understand why the compiler shows "System.Classes".
Thanks.
Re: After upgrading from 8.1.7 to 8.2.9 EmptyString is Undefined Identifier
Last message from my side:
I finally realized tha you removed EmptyString from SDAC (from version 8.2.8 or 8.2.9 i did not check when but i realized it is in 8.2.8), either by mistake or it was your choice.
Since EmptyString is a simple constant defined as '' and since i was using it only in one unit i simply stopped using it and replaced it with ''
I don't need a reply but you can consider reviewing the fact that apps built with SDAC "stopped having access to EmptyString constant from 8.2.9". Thanks.
I finally realized tha you removed EmptyString from SDAC (from version 8.2.8 or 8.2.9 i did not check when but i realized it is in 8.2.8), either by mistake or it was your choice.
Since EmptyString is a simple constant defined as '' and since i was using it only in one unit i simply stopped using it and replaced it with ''
I don't need a reply but you can consider reviewing the fact that apps built with SDAC "stopped having access to EmptyString constant from 8.2.9". Thanks.
Re: After upgrading from 8.1.7 to 8.2.9 EmptyString is Undefined Identifier
After refactoring, the EmptyString constant was moved to the SqlClasses.pas module.
You can add the SqlClasses module and use the EmptyString constant as before.
You can add the SqlClasses module and use the EmptyString constant as before.