WEB开发网
开发学院软件开发VC C++和C#编写调用COM组件 阅读

C++和C#编写调用COM组件

 2010-05-27 20:37:10 来源:WEB开发网   
核心提示:程序代码:using System;using System.Collections.Generic;using System.Text;using System.Runtime.InteropServices;namespace AddCom{//可以通过//菜单的 “工具/guid生成”,/

程序代码:

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace AddCom
{
  //可以通过//菜单的 “工具/guid生成”。
  //注意要选择Define Guid{….}格式,并全//部保存下来,保存到哪都行,记事本呀什么的。
  //因为在做VC程序/////////的时候要用到的。
  [Guid("298D881C-E2A3-4638-B872-73EADE25511C")]
  public interface AddComInterface
  {
    [DispId(1)]
    int iadd(int a, int b);
    [DispId(2)]
    float ladd(float a, float b);
  }
  [Guid("2C5B7580-4038-4d90-BABD-8B83FCE5A467")]
  [ClassInterface(ClassInterfaceType.None)]
  public class AddComService : AddComInterface
  {
    public AddComService()
    {
    }
    public int iadd(int a, int b)
    {
      int c = 0;
      c = a + b;
      return c;
    }
    public float ladd(float a, float b)
    {
      float c = 0;
      c = a + b;
      return c;
    }
  }
}

(2)VC6.0编写调用程序

使用VC6.0编写建立MFC应用程序UseCom,项目类型为MFC AppWizard(exe)

在stdafx.h添加:

#import "AddCom.tlb"
using namespace AddCom;

程序代码:

void CUseComDlg::OnButtonUse()
{
 // TODO: Add your control notification handler code here
 int dresult;
 float fresult;
 CString strResult;
 CoInitialize(NULL);//NULL换成0也可以
 AddCom::AddComInterfacePtr p_Add(__uuidof(AddComService));
 dresult = p_Add->iadd(1,2);
 fresult = p_Add->fadd(1.2,2.3);
 strResult.Format("int:%d nfloat:%f",dresult,fresult);
 MessageBox(strResult,"计算结果",MB_OK);
 CoUninitialize();

}

上一页  1 2 3 4 5  下一页

Tags:编写 调用 COM

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接