日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#调用ATL COM

發布時間:2023/12/10 C# 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#调用ATL COM 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:朱金燦

來源:http://blog.csdn.net/clever101

?????

??? ?????????簡單介紹C#程序如何調用ATL編寫的COM組件。

?

首先新建一個ATL工程,具體如下:

1. 填寫工程名稱和路徑,如下圖: ???

2. 選擇工程的服務器類型為動態鏈接庫,如下圖:

3. 添加一個ATL簡單對象,如下圖:

4. 填寫類名稱,如下圖:

5. 選擇類的線程模型及其它屬性,如下圖:

6. 為接口類添加一個方法,如下圖:

7. 填寫方法名及輸入輸出參數,如下圖:

8. 設置IDL接口屬性,這里采用默認設置即可,如下圖:

為剛才新建的Add方法添加代碼,具體如下:

STDMETHODIMP CMathCalc::Add(LONG Num1, LONG Num2, LONG* Ret) {// TODO: 在此添加實現代碼assert(NULL!=Ret);*Ret = Num1+Num2;return S_OK; }

???? 然后編譯工程,生成一個dll形式的COM。

?

第二步新建一個C#控制臺測試工程,具體如下:

1. 填寫控制臺工程名稱及路徑,如下圖:

2. 添加一個新的庫引用,如下圖:

3. 選擇剛才新生成的COM——MathCom 1.0類型庫,如下圖:

4. Program.cs中添加如下代碼:

using System; using System.Collections.Generic; using System.Linq; using System.Text; using MathComLib; // 注意使用命名空間namespace TestMathCom {class Program{static void Main(string[] args){int a = 2;int b = 3;int lRetVal = 0;MathCalc MyMathCalc = new MathCalc();MyMathCalc.Add(a, b,out lRetVal); // 注意這里有一個out關鍵字System.Console.Write(lRetVal.ToString());System.Console.WriteLine("\nPress Enter to continue.");System.Console.ReadLine();}} }

?

效果圖如下:

?

??????

問題:

1.C#調用COM接口,在參數類型中必須是C#的int類型而不是long類型對應COM的long類型,為什么呢?

?

?

?

?

?

?

?

?

?

?

?

?

轉載于:https://www.cnblogs.com/dyllove98/archive/2013/06/10/3131084.html

總結

以上是生活随笔為你收集整理的C#调用ATL COM的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。