#using <System.dll>
#using <System.Windows.Forms.dll>类似这样的
解决方法:
按照错误提示,在“项辩伍目”的“属性”窗口中的“全部”选项中,
找到:
中文磨键:公共语言运行库支持
英文:Common Language Runtime support
选中:
中文:公共语言运行库支持(/clr)
英文:Common Language Runtime support(/clr)
确定瞎灶巧之后重新编译一下就好了。
才把中间的环节打通,现在写出来为大家提供方便,这里包含了四个类型:1、在VS2005中,C#编写DLL并使用C++调用
2、在VS2005中C#编写的COM组件,使用VC6.0调用
3、在VC6.0中编写COM组件,使用VS2005 C#调用
4、在VC6.0中编写COM组件,使散梁拿用VC6.0调用
其中每个类型都写了两个程序,一个为COM组件程序,一个为调用程序
程序实现:
1、在VS2005中,C#编写DLL并使用C++调用
(1)C#编写DLL程序
建立C#编写的DLL程序AddDll,项目类型为:类库
程序代码:
using System
using System.Collections.Generic
using System.Text
namespace AddDll
{
public class Add
{
public int iadd(int a, int b)
{
int c = a + b
return c
}
}
}
(2)C++编写调用程序
建立渣芹C++的Win32控制台应用程序UseDll,项目类型为:Win32控制台应用程序
配置:右键点击解决方案资源管理器中的UseDll,选择“属性”,将公共语言运行库支持设置为“公共语言运行库支持(/clr)”
公共语言运行库设置
C++编写调用程序:公共语言运行库设置
程冲搭序代码:
#include "stdafx.h"
#include "stdio.h"
#using "../debug/AddDll.dll"
using namespace AddDll
int _tmain(int argc, _TCHAR* argv[])
{
int result
Add ^add = gcnew Add()
result = add->iadd(10,90)
printf("%d",result)
scanf("%s")
return 0
}
2、在VS2005中C#编写的COM组件,使用VC6.0调用
(1)VS2005中使用C#编写COM组件
建立C#编写的COM组件,项目类型为类库
配置:右键点击解决方案资源管理器中的AddCom,选择“属性”,选择“生成”,选择“为COM Interop注册(_P)”
打开AssemblyInfo.cs文件,设置[assembly: ComVisible(true)]
这用就可以生成AddCom.tlb文件
VS2005中使用C#编写COM组件:COM生成设置
程序代码:
using System
using System.Collections.Generic
using System.Text
u
(2)VC6.0编写调用程序
使用VC6.0编写建立MFC应用程序UseCom,项目类型为MFC AppWizard(exe)
3、在VC6.0中编写COM组件,使用VS2005 C#调用
(1)VC6.0编写COM
使用VC6.0建立COM组件,工程类型:ATL COM AppWizard
程序代码:
接口:
(2)VS2005使用C#编写调用程序(网站程序)
使用VS2005建立网站UseCom
配置:在解决方案资源管理器中的主目录点击右键,选择添加引用,选择COM,添加刚刚建立的AddCom 1.0 Type Library
在程序中要using编写的COM组件:using ADDCOMLib
引用COM
VS2005使用C#编写调用程序:引用COM
程序代码:
u
4、在VC6.0中编写COM组件,使用VC6.0调用
(1)VC6.0编写COM组件
使用VC6.0建立COM组件,工程类型:ATL COM AppWizard
程序代码:
接口:
(2)VC6.0编写调用程序
使用VC6.0建立MFC应用程序UseCOM,调用刚刚建立的COM组件
将上面程序AddCom生成的AddCom.dll放入本程序的工程目录和程序生成目录中
在StdAfx.h中加入:
代码请参考:http://blog.csdn.net/fwj380891124/article/details/6719669
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)