1>添加Interop.RTXServerApi.dll的引用
2>RTXServerApi.RTXObjectClass和RTXServerApi.RTXObject实现一样,建议使用RTXServerApi.RTXObject
在winform和类库中.net4.0 提示“无法嵌入互操作类型‘RTXServerApi.RTXObjectClass’,请改用适用的接口”,.net2.0则无此问题
但是在werform的.net4.0中RTXServerApi.RTXObjectClass又可以使用
3>SDKServerPort的端口是6000,AppServerPort的端口是8006,该demo用6000端口
4>如果RTXServerApi.RTXObject无法实例化,则修改生成项目中,目标修改为“x86”
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using RTXServerApi;
using System.Runtime.InteropServices;
namespace OtherObj
{
public partial class ExportUserDatafrm : Form
{
public ExportUserDatafrm()
{
InitializeComponent();
}
private void btnExportDataToRTX_Click(object sender, EventArgs e)
{
//RTXServerApi.RTXObjectClass RTXObj = new RTXServerApi.RTXObjectClass(); //创建一个业务逻辑对象
//RTXServerApi.RTXCollectionClass RTXParams = new RTXServerApi.RTXCollectionClass();// 创建一个集合对象
RTXServerApi.RTXObject RTXObj = new RTXObject(); //创建一个业务逻辑对象
RTXServerApi.RTXCollection RTXParams = new RTXCollection();// 创建一个集合对象
RTXObj.ServerIP = "127.0.0.1";
RTXObj.ServerPort = 6000;
RTXObj.Name = "USERSYNC"; //业务逻辑对象名称为用户数据同步
RTXParams.Add("MODIFYMODE", 1);
//"<?xml version=""1.0"" encoding=""gb2312"" ?>"
//<?xml version="1.0" encoding="gb2312" ?>
RTXParams.Add("XMLENCODE", @"<?xml version=" + "\"" + "1.0" + "\"" + " encoding=" + "\"" + "gb2312" + "\"" + " ?>");
try
{
object rtxData = RTXObj.Call2(enumCommand_.PRO_SYNC_FROM_RTX, RTXParams);
//object rtxData = RTXObj.Call2(enumCommand_.PRO_GETALLDPETINFO, RTXParams);
richTextBox1.Text = rtxData.ToString();
MessageBox.Show("导出成功");
}
catch (COMException ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
程序员的基础教程:菜鸟程序员