![]() |
Webservice: String als null übergeben?
Ich habe einen Webservice, den ich mittels Delphi 6 ansprechen will (
![]() Die erste Hürde ist genommen, da erscheint sofort die zweite: Ich habe folgende aus dem WSDL generierte Methode:
Delphi-Quellcode:
Nun unterstützt der Report Server keine Historie der Reports. Ich darf also keine HistoryID übergeben. Ein Leerstring wird aber nicht als 'nichts' erkannt. Ich muss hier also 'null' bzw. 'nil' übergeben. Nur geht das hier ja nicht. Was nu?
function GetReportParameters(const Report: String; const HistoryID: String; const ForRendering: Boolean; const Values: ArrayOfParameterValue; const Credentials: ArrayOfDataSourceCredentials): ArrayOfReportParameter; stdcall;
|
Re: Webservice: String als null übergeben?
Nuja, PChar's währen hier an Stelle von Strings angebracht.
|
Re: Webservice: String als null übergeben?
Delphi-Quellcode:
geht auch nicht.
PChar(nil)
|
Re: Webservice: String als null übergeben?
Nur nil ohne Cast.
|
Re: Webservice: String als null übergeben?
Vorweg: Ich habe keinerlei Ahnung von WSDL und dem Import in Delphi. Aber: Wenn du in Delphi einer lokalen Variable oder einem Parameter einen Leerstring übergibst, wird intern nil übergeben. Das Äquivalent zum C-String #0 existiert in Delphi also nicht direkt. Insofern gibt es vermutlich keine Möglichkeit, an dem Delphi-Wrapper (ich hoffe mal, ich erzähle hier keinen Unsinn) ein nil vorbeizuschleusen, da dieser nil automatisch in einen Leerstring übersetzt.
|
Re: Webservice: String als null übergeben?
Zitat:
|
Re: Webservice: String als null übergeben?
Zitat:
|
Re: Webservice: String als null übergeben?
Ich habe ein WSDL. Das gibt an der Stelle nunmal String vor. Der WSDL-Importer erzeugt auch eine Unit, die hier String erwartet. Ich kann doch nicht einfach hergehen und das dort in PChar umwandeln? Dann bin ich doch nicht mehr mit dem WSDL konform?
|
Re: Webservice: String als null übergeben?
Zitat:
|
Re: Webservice: String als null übergeben?
Dann habe ich auch keine Idee, ein String kann nunmal nicht nil sein.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz