// // 退出... procedure TForm1.CornerButton2Click(Sender: TObject); begin if mbconn.Connected then mbconn.Disconnect; halt; end;
// // 连接、断开... procedure TForm1.CornerButton3Click(Sender: TObject); begin if CornerButton3.text='连接' then begin if mbconn.connect then begin CornerButton3.text:='断开'; memo1.lines.add('连接服务器成功,请继续测试!'); memo1.lines.add('SessionId='+MBConn.WebSessionId); memo1.Lines.Add(''); end else memo1.lines.add('连接服务器失败,无法继续测试!'); end else begin mbconn.disconnect; CornerButton3.text:='连接'; memo1.lines.add('与服务器断开!'); end; end;
// // 功能测试2:计算阶乘... procedure TForm1.CornerButton4Click(Sender: TObject); var InParcel,OutParcel: TMBParcel; y: integer; begin InParcel:=TMBParcel.Create; InParcel.PutIntegerGoods('FunctionId',2); InParcel.PutIntegerGoods('X',10); OutParcel:=TMBParcel.Create; if RPC.Call('mymobileplugin.asq',inparcel,outparcel) then begin if OutParcel.GetBooleanGoods('ProcessResult') then begin y:=OutParcel.GetIntegerGoods('Y'); memo1.Lines.Add('远程计算成功!'); memo1.Lines.Add('10的阶乘='+inttostr(y)); memo1.Lines.Add(''); end else memo1.Lines.Add('插件处理任务失败!'); end else memo1.Lines.Add('远过程调用失败!'+RPC.LastError); FreeAndNil(InParcel); FreeAndNil(OutParcel); end;
// // 功能调用测试1:取会话列表... procedure TForm1.CornerButton5Click(Sender: TObject); var InParcel,OutParcel: TMBParcel; begin InParcel:=TMBParcel.Create; InParcel.PutIntegerGoods('FunctionId',1); OutParcel:=TMBParcel.Create; if RPC.Call('mymobileplugin.asq',inparcel,outparcel) then begin if OutParcel.GetBooleanGoods('ProcessResult') then begin OutParcel.GetCDSGoods('WebSessionList',Cds); memo1.Lines.Add('取会话列表成功!会话数='+inttostr(cds.RecordCount)); while not cds.Eof do begin memo1.Lines.Add('SessionId='+trim(Cds.FieldByName('WebSessionId').AsString)); memo1.Lines.Add(trim(Cds.FieldByName('AppName').AsString)+'|'+trim(Cds.FieldByName('ClientName').AsString)+'|'+trim(Cds.FieldByName('ClientAddress').AsString)); memo1.Lines.Add(''); Cds.Next; end; Cds.Close; end else memo1.Lines.Add('插件处理任务失败!'); end else memo1.Lines.Add('远过程调用失败!'+RPC.LastError); FreeAndNil(InParcel); FreeAndNil(OutParcel); end;
// // 功能测试3:读数据表... procedure TForm1.CornerButton6Click(Sender: TObject); var InParcel,OutParcel: TMBParcel; begin InParcel:=TMBParcel.Create; InParcel.PutIntegerGoods('FunctionId',3); InParcel.PutStringGoods('DatabaseId','testdb'); InParcel.PutStringGoods('TableName','Customers'); InParcel.PutStringGoods('Condition',''); OutParcel:=TMBParcel.Create; if RPC.Call('mymobileplugin.asq',inparcel,outparcel) then begin if OutParcel.GetBooleanGoods('ProcessResult') then begin OutParcel.GetCDSGoods('ClientDataset',Cds); memo1.Lines.Add('读数据表成功!记录数='+inttostr(cds.RecordCount)); memo1.Lines.Add('首记录:CustomerId='+trim(Cds.FieldByName('CustomerId').AsString)); memo1.Lines.Add('CompanyName='+trim(Cds.FieldByName('CompanyName').AsString)); memo1.Lines.Add(''); Cds.Close; end else memo1.Lines.Add('插件处理任务失败!'); end else memo1.Lines.Add('远过程调用失败!'+RPC.LastError); FreeAndNil(InParcel); FreeAndNil(OutParcel); end;