Delphi7クラスで使用されるWCFアプリケーションを作成しました。AFAIK、C#string
タイプはUTF16
で、Delphiの7string
タイプはAnsi
です。
問題は、C#とDelphiの文字列タイプが異なるため、すべての関数をではbytes[]
なくで宣言する必要があるstring
かどうかです。メソッドを使用すると問題が発生しstrings
ますか?
DelphiでWideStringをすべてデカールする必要があると思います。
.NET WCFサービスを作成し、Delphi 7クライアントで使用するようにしたとのことですが、クライアントも管理下にありますか?あなたの質問はそれが事実であることを暗示しているようです。私はそれが真実であると仮定して答えます。
.NET側の[OperationContract]にbyte[]タイプのパラメーターがある場合でも、すべてのデフォルトのコントラクトワイヤーシリアライザー(SOAP、JASONなど)は.NET XML形式を使用し、これは(AFAK)すべてのUTF-です。 16.16。
したがって、パラメータを明示的なバイト配列に入れることはできますが、メッセージペイロードはすべてUTF-16XMLになります。