So, meine Funktion kann ich ja ändern.
Was mache ich aber, wenn es eine Funktion vom "festen" Quelltext ist?
Den hab ich nicht überladen.
Zitat:
[dcc32 Fehler] meineAPI.pas(537): E2251 Doppeldeutiger überladener Aufruf von 'AddPair'
System.JSON.pas(752): Verwandte Methode: function TJSONObject.AddPair(const string; const Boolean): TJSONObject;
System.JSON.pas(737): Verwandte Methode: function TJSONObject.AddPair(const string; const Extended): TJSONObject;
System.JSON.pas(707): Verwandte Methode: function TJSONObject.AddPair(const string; const string): TJSONObject;
Ursache ist wohl, daß ich dem 2. Parameter eine Variant-Variable übergebe, die mal eine Zahl oder ein String sein kann...
Delphi-Quellcode:
if s<>'' then
json.AddPair(prop,TJSONNumber.Create(s)) //s ist Typ string; prop ist shortstring
else
json.AddPair(prop,value); //<- hier meckert es! value ist Typ Variant, vielleicht numerisch
Wie erwähnt wusste
Berlin, was zu tun ist -
Athens beklagt das.
Muss ich jetzt dem Compiler entgegen kommen und den 'varianten' Wert selbst vorbereiten?
Oder gibt ein Schalter, der den Variant-Typ wie in
Berlin selbst richtig einsetzt und die passende Funktion verwendet?