我在服务器端定义了一个如下的‘RECORD’数据类型
// Declaration of structures, unions and aliases.                         
// *********************************************************************//
  PUserType1 = ^tTestAdvice; {*}  tTestAdvice = packed record
    serialno: string;
    inhosRegisterNo: string;
    subjectCode: string;
    isMedicine: string;
    execDepartmentCode: string;
    execDepartmentName: string;
    drugHouseCode: string;
    drugHouseName: string;
    doctorCode: string;
    doctorName: string;
  end;并且把他作为一个函数的入参:
procedure groupData(var value: tTestAdvice); safecall;请问我在客户端如何定义数据类型???如何引用服务器端定义的'tTestAdvice'类型那?

解决方案 »

  1.   

    没有这种方式,要不的话就不用midas了。
      

  2.   

    需要在 type library 中定义此结构,但是此结构的各个域的类型应该是自动化兼容的,因此不能定义成 string ,应该是 BSTR,其实就是 WideString。 当客户端导入了类型库后,就有了此结构的类型定义。(该定义就在 *_TLB.pas 文件中)
      

  3.   

    在客户端同样定义此类型。在服务器端将此类型的变量值赋给olevariant类型的返回值,在客户端直接赋值给此类型的变量即可。
    就是这么一个过程:(服务器)tTestAdvice-->(服务器)olevariant(返回值)-->(客户端)tTestAdvice