c#dll in vfp,无法使用

时间:2012-08-20 07:34:10

标签: c# .net visual-foxpro

我已经用c#编写了代码,并构建了dll。当我在vfp中创建对象时,我得到了错误。

我在vfp中使用下面的代码

SET LIBRARY TO bt_print.tlb
hh=CREATEOBJECT("bt_print.bt")

我的c#代码是

我已选中“注册COM互操作”复选框。

请纠正我,我做错了什么。

提前致谢。

1 个答案:

答案 0 :(得分:3)

勾选“使组件COM可见” - 项目设置,应用程序页面,装配信息。

在C#中,添加ClassInterface和ProgId。

using System;
using System.Runtime.InteropServices;

namespace bt_print

{
    [ClassInterface(ClassInterfaceType.AutoDual)]
    [ProgId("bt_print.bt")]
    public class bt
    {
        public void search_bt()
        {
        }

        public void sendfile(String fl)
        {
        }
    }
}

在VFP中,使用NEWOBJECT()函数。

hh = NEWOBJECT("bt_print.bt")