公司有一套核算的产品,原2.1版本(使用delphi 5开发的程序)的产品有做了一个接口,是使用delphi 5写的一个OCX,现在要在3.0的版本(使用VS 2005开发的程序)上去调用这个接口。下面讲解一下再VS 2005中如何调用OCX。
① 使用窗体调用
在VS 2005中建立工程
然后在工具箱中,就可看到该组件了。
双击按钮,写按钮事件。
private void button1_Click(object sender, EventArgs e)
{
this.axSZCWPZIO1.Start();
}
启动程序,点击按钮。
下面说说第二种,通过对OCX源文件的应用。
开始—运行—CMD,去到 $VS安装的目录$\SDK\v2.0\Bin\ 目录下,如我的安装目录为
G:\Program Files\Microsoft Visual Studio 8\ 则
键入以下命令
aximp r:\temp\SZCWIO.ocx /out:r:\temp\AxSZCWIO.dll /source
注意这里生成的dll文件名称不可以和OCX控件的名称一致
在指定目录生成了文件
在VS 2005中建立工程
复制 dll文件到工程目录下\BIN\Debug的目录中
项目添加引用,点击浏览,选择项目路径下bin\debug目录下的dll文件
并且,也把C:\Program Files\Microsoft.NET\Primary Interop Assemblies\stdole.dll这个文件引用进来。
然后,复制AxSZCWIO.cs文件到工程目录下
项目添加现有项,把刚才生成的AxSZCWIO.cs源文件添加进来。
此时,生成解决方案,会出现以下错误。
到这个时刻,程序基本搭建起来。
去到窗体,拖一个按钮,写按钮的点击事件
private void button1_Click(object sender, EventArgs e)
{
AxSZCWPZIO asSZCW = new AxSZCWPZIO();
axSZCW.Visible = false;
axSZCW.BeginInit();
this.Controls.Add(axSZCW);
axSZCW.EndInit();
axSZCW.Start();
}
注意要在头部把AxSZCWIO.cs里的命名空间AxSZCWIO包含进来,例 using AxSZCWIO;
启动程序,界面如下
联系客服