zoukankan      html  css  js  c++  java
  • Delphi 2010 DataSnap封装COM对象

    在Delphi 2010中,DataSnap已完全可以不使用COM了.想起在windows上配置COM,就麻烦的很,如果在本机还好说,在远程要涉及到权限等诸多问题(用SocketConnection要方便一些).

    如果早期写的程序中有许多COM对象,我们可以通过DataSnap的封装,使用适配器模式简单地封装一下,那么在客户端就可以使用DataSnap的方式来调用远程的COM对象了,当然需要DataSnap Server来做中介.

    不过需要注意:COM对象在调用上如果有字符串做参数,做字符串一般是WideString类型的,而在DataSanp中远程调用是不支持类型为WideString的参数作为返回值的(比如:procedure EchoString(var value:WideString);),不知道在以后的版本中会不会支持,所以如果有WideString类型的返回值在调用的时候要做String和WideString的转换.

    附:

      可作为参数的类型
    TDBXWideStringValue
    TDBXAnsiStringValue
    TDBXInt16Value
    TDBXInt32Value
    TDBXInt64Value
    TDBXSingleValue
    TDBXDoubleValue
    TDBXBcdValue
    TDBXTimeValue
    TDBXDateValue
    TDBXTimeStampValue
    TDBXBooleanValue
    TDBXReaderValue
    TDBXStreamValue

    可作为var和out的参数的类型

    boolean
    SmallInt
    Integer
    Int64
    Single
    Double
    AnsiString
    String
    TDBXTime
    TDBXDate

    可作为var和out的其他参数类型
    TStream
    TDataSet
    TParams
    TDBXReader
    TDBXConnection

  • 相关阅读:
    二级缓存
    java面试题
    BRD,MRD,PRD文档
    程序做处理时,try..catch和if..else的区别
    关于java中字符串截取
    导出oracle数据库表(备份表)操作命令
    WSDL文件生成java类
    Linux下redis安装(单机版)
    Springboot2.0访问Redis集群
    Spring Cloud Sleuth通过Kafka将链路追踪日志输出到ELK
  • 原文地址:https://www.cnblogs.com/GarfieldTom/p/1658305.html
Copyright © 2011-2022 走看看