WebServis konusunda Delphi XE3 de yazmaya çalıştığım bir uygulama var. Delphi bilgim fazla değil. ( C++ builder ile uygulama geliştiriyorum.)
WebServis.pas dosyasında ki tanımlar şu sekilde;
Kod: Tümünü seç
......
GetUserInfoInput = class;
......
ArrayOfString = array of string;
......
GetUserInfoInput = class(TRemotable)
private
FSearchKeys: ArrayOfString;
........
function GetUserInformation(const theSearchRequest: GetUserInfoInput): ResultGetUserInfo; stdcall;
.....
Delphi tarafında GetUserInformation fonksiyonunu çağırma işlemi:
Kod: Tümünü seç
procedure TForm1.Button2Click(Sender: TObject);
var
rgui : ResultGetUserInfo;
gui : GetUserInfoInput;
send: ArrayOfString; // test için.
begin
gui:= GetUserInfoInput.Create;
rgui:= ResultGetUserInfo.Create;
SetLength(send, 2);
send[0] := 'test ';
send[1] := 'test11 ';
// yukarıdaki kod hatasız çalışıyor.
// Aşağıdaki kod hata veriyor.
SetLength( gui.SearchKeys, 1);
gui.SearchKeys[0] := 'ad=deneme';
rgui := (HTTPRIO2 as ServiceSoap).GetUserInformation (gui);
MemoSonuc.Clear;
MemoSonuc.Lines.Add('Ad : ' + rgui.FieldNames.FirstName);
MemoSonuc.Lines.Add('Ad : ' + rgui.FieldNames.LastName );
end;
ancak "GetUserInfoInput" sınıfının elemanı olan "SearchKeys" de tıpkı send değişkeni gibi ArrayOfString olmasına rağmen hata veriyor.
Konu ile ilgili yardımcı olabileceklere şimdiden teşekkürler...