私はTStringListのすべての項目を配列に作成しようとしていますが、このサイズは前記TStringList内の項目の数によって異なります。Delphiで配列プロパティを正しく宣言するにはどうすればよいですか?
私の構文が間違っていて、私が望むのはおそらく動的配列なので、[0..100]はおそらく間違っていますが、オンラインで代替構文を見つけることができませんでした。
ProductAvailabilityResult = Class(TRemotable)
private
FResultArray : array[1..100] of string;
published
property ResultArray[Index: Integer]: array of string read FResultArray write FResultArray;
End;
これは私がそれを呼び出して作成する方法です。 conditionList私のTStringList私は自分の配列に移入します。
for I := 0 to conditionList.Count - 1 do
begin
aProductAvailabilityResult.ResultArray[I] := conditionList[I];
end;
あなたがまたは私がやっているものに代替の提案があってもなくてもよい場合には、SOAPサーバ上で結果を送信するWebサービスアプリですので、このセットアップの理由は、私は私は思いませんPHP/SoapクライアントはTStringListを読むことができるので、最初に配列に渡す必要があります。
お知らせください、ありがとうございます!
全体の質問がにかかっ:
は、あなたがソース
TStrings
から文字列をコピーする方法を追加することを検討することをお勧めしますリモーティング、それがどのように達成されるのかを示します。なぜあなたのコードはあまりインデントされていませんか? –@DavidHeffernan私は混乱していますが、質問はどのような方法でもリモーティングに左右されません。私は、forループがTStringListのコンテキストを設定するジェネリックな動的配列をどのように宣言できるかを知りたい。私は配列をちょうど良い遠隔で扱うことができます。また、インデントの問題は、コピー&ペーストから来ています。これは、配列をねじ込み、私は手動でstackoverflow上のコードブロックを取得するためにスペースを確保する必要があります。 – Denis
動的配列が必要な場合は、動的配列を宣言します。しかし、現時点ではダイナミックアレイはありません。あなたは配列プロパティを持っています。全く違う。あなたは "私のPHP/SoapクライアントはTStringListsを読むことができないと思う"と言った。おそらくそれは読むことが重要です。動的配列プロパティを作成する方法を説明しました。あなたのPHP/Soapクライアントがそれを読むことができない場合、あなたは文句を言ってはいけないと約束しますか? –