RemObject解决自动生成代码的想法.

转载 2007年10月10日 13:30:00
        用过DELPHI写过多层框架的,可能能RemObject比较熟悉. RemObjects Service Builder 自动生成代码的同时,也给我们带来困扰. 每个类都要定义在intf文件里, 接口只有一个, 这些显然对我们开发系统来讲, 支持的不够, 我想使用多个接口,也不想没完没了的定义结构.

              前一段时间写了一个自动生成元数据的小工具,  可以和界面StringGrid和控件自动绑定,实现数据集的效果,而且在客户端完全放弃了数据集, 使用纯对象,  自己觉得还算不错. 然而在传输的时候, 我又想使用RemObject支持序列化的功能.  这个问题如何解决呢?

             后来我想摸索之后发现, 可以通过下面的方法来进行改进.

           1. RemObject的工程改为普通工程,  把定义的元数据分离出来, 在interface下面uses一下.

           2. 如果直接传递对象, 接口和代码怎么解决? (因为分离了元数据对象单元,所以编译的时候,不会生成代码. 解决问题的办法在于,RPCServerLibrary. Rodl文件. 正是因为这个文件,所以RemObjects Service Builder 自动生成代码根据其XML文件进行解析,最后生成代码.

   3. 方法定义的地方:

<Operation Name="GetPerson" UID="{B39EB743-BFBD-461B-B7CA-E6099E7C6BAC}">
<Parameters>
<Parameter Name="Result" DataType="Person" Flag="Result">
</Parameter>
</Parameters>
</Operation>

            4. 结构体定义的地方:

   <Structs>
<Struct Name="person" UID="{8F16C438-213F-4818-97DC-30446F45D21E}" AutoCreateParams="1">
<Elements>
<Element Name="id" DataType="String">
</Element>
<Element Name="name" DataType="String">
</Element>
<Element Name="age" DataType="Integer">
</Element>
</Elements>
</Struct>
</Structs>

    有了上面的描述, 你应该想到怎么办了吧,对,就是在这里动手,前面我们不是自己做过动态生成元数据代码吗? 现在只要在其中修改这个RODL文件, 把元数据和方法加进去, 然后编译的时候,RemObjects Service Builder 就会自动帮我们生成代码了.

   最后,我们把inter文件(自动生成)改一下.删除元数据的声明,建一个新的工程,把所有代码拷进去.呵呵,大功告成. 

 

 



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1516038

 

RemObjects SDK Source For Delphi XE7

根据网上RemObjects SDK for Delphi - 7.0.63.1055 retail Full Source源码版本修改支持Delphi XE7。...
  • tht2009
  • tht2009
  • 2014年09月25日 09:15
  • 8309

根据RemObject的远程方法调用原理实现的简单远程方法调用

                     根据RemObject的远程方法调用原理实现的简单远程方法调用                              作者:俞伟      QQ:1830...
  • michelsn
  • michelsn
  • 2007年10月11日 09:10
  • 2959

教你彻底解决Eclipse自动补全变量名的问题

from:http://tieba.baidu.com/p/2466687622 大家使用eclipse或者MyEclipse敲代码的时候,是不是都被这样一个问题困扰着。就是你键入一个变量名的时候,...
  • peterXu00800
  • peterXu00800
  • 2017年02月23日 16:25
  • 2547

实现aop思想的多种方法

含义: AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 AOP是OOP的延续,是...
  • Scythe666
  • Scythe666
  • 2016年07月22日 14:44
  • 1119

Java编译时注解自动生成代码

在开始之前,我们首先申明一个非常重要的问题:我们并不讨论那些在运行时(Runtime)通过反射机制运行处理的注解,而是讨论在编译时(Compile time)处理的注解。注解处理器是一个在javac中...
  • robertcpp
  • robertcpp
  • 2016年06月16日 21:31
  • 6430

Csv读取代码自动生成工具(2.0)

  • 2018年01月15日 22:42
  • 16KB
  • 下载

mybatis-generator 代码自动生成工具

  • 2018年01月16日 10:15
  • 2.16MB
  • 下载

自动生成代码工具autoccode_v1.3.2

  • 2014年09月01日 22:11
  • 11.83MB
  • 下载

mybatis-generator 自动生成mybatis dao model层代码

  • 2017年08月16日 10:17
  • 5.46MB
  • 下载

java 代码自动生成

  • 2017年05月28日 17:10
  • 1.57MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:RemObject解决自动生成代码的想法.
举报原因:
原因补充:

(最多只允许输入30个字)