V jinem tematu jsem citoval diskusi
https://forums.embarcadero.com/thread.jspa?threadID=63416, kde doporucuje Babet reseni:
{$IF CompilerVersion >= 23}
{$IF DECLARED(System.Variants.DispatchUnsignedAsSigned)}
initialization
System.Variants.DispatchUnsignedAsSigned := True;
{$IFEND}
{$IFEND}
Ovsem narazili jsme na to, ze XE2+Upd1 tohle neprelozi a krici, ze
DispatchUnsignedAsSigned je undeclared identifier, z cehoz vyplyva, ze prekladac spatne vyhodnocuje podminku $IF DECLARED.
Jak jsem zjistil,
vadi mu plne kvalifikovane jmeno : jakmile
existuje prvni jmeno pred teckou,
vraci vzdy TRUE bez ohledu na zbytek vyrazu za teckou !!! (pokud jmeno pred teckou neexistuje, prekladac rve, ze ocekava ")", ale nasel "."). Takze aby to fungovalo podle predpokladu, musi se napsat:
{$IF CompilerVersion >= 23}
{$IF DECLARED(DispatchUnsignedAsSigned)}
initialization
System.Variants.DispatchUnsignedAsSigned := True;
{$IFEND}
{$IFEND}
Po delsi odmlce delam s XE2 druhy tyden a uz jsem narazil na dalsi peknou zradu... to se nam z toho Delphi stava peknej shit
BTW, po zkusenostech s pristupem personalu k reseni problemu na QC jsem to tam nereportoval, takze jestli nekdo nema co delat...
pf