做3层,考虑以后要用asp.net重用这3层中间的com组件,用了midas技术,现在要将一个无界面组件TClientDataSet变成一个DLL,就像ado一样,也做成com组件.如何将TClientDataSet变成一个DLL文件?即变成一个组件,能  
够在VB或是Asp.net中使用,以便使用写好的用了midas技术的com+  
组件?  
 
我知道在delphi里有一个工程是activex  control,但只限于有界面的vcl  
像TclientDataSet这样无界面的是先activex  libaray??可是具体怎么  
做???  最好能比较方便的将这个vcl转化成一个com组件就行了。不用  
增加功能。  
 
急!!

解决方案 »

  1.   

    我也想这么做,应该不难吧。标准VCL大都是调用的Dll。你可看一下delphi中的源吗。
    你可以将组件包在dll中。定义一个方法,导出组件的元类。在外面就可以直接create了。但是这样只能于程序中动态生成。而不能在设计时导入了。而且也不支持流化了。注意一下就行。问题不大。
      

  2.   

    楼上的话我没听明白。我意思是将vcl组件转成Com组件。
      

  3.   

    用接口来做,将对象转化成com组件
      

  4.   

    控件的转换不像你想的那么简单。首先你要定义一个COM接口,然后借用TClientDataset实现它。
    最后是在系统中注册。对ActiveX我也不熟,你可以查找ActiveX的接口标准,然后定义自己的方法。对于设计状态下的VCL,其实都是打包在DLL中的类,只不过扩展名变成了BPL而已。