Array가있는 varant를 반환하는 WebService가 있는데, varArray 데이터를 가져 오는 방법을 알고 싶습니다.Delphi를 사용하여 VarArray에서 데이터 가져 오기
도움 주셔서 감사합니다.
Array가있는 varant를 반환하는 WebService가 있는데, varArray 데이터를 가져 오는 방법을 알고 싶습니다.Delphi를 사용하여 VarArray에서 데이터 가져 오기
도움 주셔서 감사합니다.
varArray의 내용을 가져 오려면 VarArrayLowBound
및 VarArrayHighBound
함수를 사용해야하며 루프를 사용하여 배열을 반복하여 데이터를 가져올 수 있습니다.
기본 데이터 타입 Byte
이라고 가정이 샘플
var
i : integer;
s : string;
begin
for i := VarArrayLowBound(vArray, 1) to VarArrayHighBound(vArray, 1) do
s:=vArray[i];//copy the the content of the array i element into a string
을 시도하고, 상기 어레이는 1 차원 즉, 방법 I은 다음과 같이 인 해결할 :
function GetBytesFromVariant(const V: Variant): TBytes;
var
Len: Integer;
SafeArray: PVarArray;
begin
Len := 1+VarArrayHighBound(vArray, 1)-VarArrayLowBound(vArray, 1);
SetLength(Result, Len);
SafeArray := VarArrayAsPSafeArray(V);
Move(SafeArray.Data^, Pointer(Result)^, Length(a)*SizeOf(a[0]));
end;
경우 기본 요소 유형은 다른 것입니다 (예 : Word
, Integer
등등. 일치하도록 수정하는 방법을 분명히해야합니다.
변수 "s"에 ShowMessage를 주려고했는데 빈 값이 반환되었습니다. –
배열의 데이터 유형 (문자열, 정수, 부동 소수점)은 무엇입니까? – RRUZ
WebService에서 오류가 발생했음을 해결하기 위해 웹 메일을 보냈습니다 ... 감사합니다. –