record_array[0].UniqueId;

Edward Koryagin


--- On Sat, 25/4/09, Mark Williamson at Warkworth Computer Services Limited 
<[email protected]> wrote:

> From: Mark Williamson at Warkworth Computer Services Limited <[email protected]>
> Subject: [DUG] Extracting Web Service data from a TRemotable
> To: [email protected]
> Received: Saturday, 25 April, 2009, 11:19 AM
> Hi,
> 
> This is my first question to the Digest, so I hope this is
> right way of submitting it.
> 
> I am trying to consume a Web Service. Have got it working
> ok for simple returns of XML strings, but am completely
> stuck on how to handle the return of multiple records in a
> TRemotable Object.
> 
> Here's the code that I think relates to it:
> 
>   GetLatestTransactionsResult = class(TRemotable)
>   private
>   FUniqueId:String;
>   FPeopleId:String;
>   FSiteLoginId:string;
>   FSiteLogoutId:string;
>   FErrorCode:integer;
>   published
>       Property UniqueId: string read FUniqueId write
> FUniqueId;
>       Property PeopleId: string read FPeopleId write
> FPeopleId;
>       Property SiteLoginId: string read FSiteLoginId write
> FSiteLoginId;
>       Property SiteLogoutId: string read FSiteLogoutId
> write FSiteLogoutId;
>       Property ErrorCode: integer read FErrorCode write
> FErrorCode;
>   end;
>   TFieldInfoArray =   array of GetLatestTransactionsResult;
> 
>   DataPortalExSoap = interface(IInvokable)
>   ['{94DBE733-A57C-9EBF-B5CD-167163F4ECAF}']
>     function  GetLatestTransactionsEx(const ID: string;
> const Password: string; const ExternalRef: string; const
> FindByBatchNo: string; const FindByExternalRef: string):
> string; stdcall;
>   end;
> 
> initialization
>  
> RemClassRegistry.RegisterXSClass(GetLatestTransactionsResult,
> 'http://www.ezitracker.com/eziTrackerData/',
> 'GetLatestTransactionsResult');
>  
> RemClassRegistry.RegisterXSClass(GetLatestTransactionsResult,
> '', 'TFieldInfo', '');    
>   RemTypeRegistry.RegisterXSInfo(TypeInfo(TFieldInfoArray),
> '', 'TFieldInfoArray');       
> 
> finalization                                               
>           
>  
> RemClassRegistry.UnRegisterXSClass(GetLatestTransactionsResult);
>    
>  
> RemTypeRegistry.UnRegisterXSInfo(TypeInfo(TFieldInfoArray));
>      
> 
> 
> and then on the Form with my test buttons:
> 
> procedure
> TFormMainForm.ButtonGetLatestTransactionsClick(Sender:
> TObject);
> var id:string;
>     password:string;
>     nonnullresponse:boolean;
>     record_array:GetLatestTransactionsResult;
>     unique_id:string;
> begin
>   id       := 'aaa';
>   password := 'bbb';
>   nonnullresponse := True;
> 
>   record_array :=
> GetDataPortalExSoap.GetLatestTransactions(id, password,
> nonnullresponse);
> 
>  
> end;
> 
> 
> It appears to run ok, but I have no idea how to extract the
> data from record_array. 
> 
> If I try something as simple as:
> 
> unique_id := record_array.UniqueId[1];
> 
> I get an EAccessViolation.
> 
> 
> Can anyone help please.
> 
> 
> 
> I can't seem to find any ideas on the Web, probably
> because the answer it too obvious.
> 
> 
> Thanks
> 
> Mark 
> _______________________________________________
> NZ Borland Developers Group - Delphi mailing list
> Post: [email protected]
> Admin: http://delphi.org.nz/mailman/listinfo/delphi
> Unsubscribe: send an email to [email protected]
> with Subject: unsubscribe


      Get the world&#39;s best email - http://nz.mail.yahoo.com/

_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: [email protected]
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to [email protected] with Subject: 
unsubscribe

Reply via email to