Einzelnen Beitrag anzeigen

SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
313 Beiträge
 
Delphi 12 Athens
 
#23

AW: Reise von Berlin nach Athens

  Alt 30. Aug 2024, 17:51
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?
  Mit Zitat antworten Zitat