none
c# 调用delphi的ocx文件 RRS feed

  • 问题

  • 做一个项目,需要用到同事用delphi写的ocx组件,以前做项目调用过c++的dll文件,同样用
     [DllImport("WebPhotoProj1.ocx")]这种方法,而且引用、com组件都添加了,调用里面的方法就是不管用。最奇怪的是用js调用WebPhotoProj1.ocx组件里面的方法就可以,我无语了。谁来指点下小弟的迷津呀?
    2013年7月29日 8:55

答案

  • 做一个项目,需要用到同事用delphi写的ocx组件,以前做项目调用过c++的dll文件,同样用
     [DllImport("WebPhotoProj1.ocx")]这种方法,而且引用、com组件都添加了,调用里面的方法就是不管用。最奇怪的是用js调用WebPhotoProj1.ocx组件里面的方法就可以,我无语了。谁来指点下小弟的迷津呀?

    OCX 是 ActiveX 组件,你需要先在系统中注册,使用 register32 组册 WebPhotoProj1.ocx,然后在 COM 中找到该控件后,引用它,可以从工具箱上拖动到你的窗体上,IDE会为你生成互操作程序集,直接使用就行。不能通过 DllImport 使用 OCX 组件。
    • 已编辑 Skyseer 2013年8月6日 3:09
    • 已标记为答案 占占wyz 2013年8月7日 3:15
    2013年8月6日 3:08
  • 嗯,补充一下哈,找com组件的时候在工具箱中随便右击一个组件,点击快捷菜单的“选择项”,就可以看到com组件的标签了,然后选择已经注册好的ocx组件就可以了,多谢指点。
    2013年8月7日 3:15

全部回复

  • OCX可以注册为dll的。。方法可以引用到
    2013年8月3日 5:07
  • 做一个项目,需要用到同事用delphi写的ocx组件,以前做项目调用过c++的dll文件,同样用
     [DllImport("WebPhotoProj1.ocx")]这种方法,而且引用、com组件都添加了,调用里面的方法就是不管用。最奇怪的是用js调用WebPhotoProj1.ocx组件里面的方法就可以,我无语了。谁来指点下小弟的迷津呀?

    OCX 是 ActiveX 组件,你需要先在系统中注册,使用 register32 组册 WebPhotoProj1.ocx,然后在 COM 中找到该控件后,引用它,可以从工具箱上拖动到你的窗体上,IDE会为你生成互操作程序集,直接使用就行。不能通过 DllImport 使用 OCX 组件。
    • 已编辑 Skyseer 2013年8月6日 3:09
    • 已标记为答案 占占wyz 2013年8月7日 3:15
    2013年8月6日 3:08
  • 嗯,补充一下哈,找com组件的时候在工具箱中随便右击一个组件,点击快捷菜单的“选择项”,就可以看到com组件的标签了,然后选择已经注册好的ocx组件就可以了,多谢指点。
    2013年8月7日 3:15