日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
使用托管C++粘合C#和C++代碼(二)

上篇文章講解了在C#代碼中調(diào)用純C++模塊的基本流程。在本文章中我們再來實現(xiàn)一下C++代碼調(diào)用C#代碼的過程。我構(gòu)造一個簡單并且直觀的例子:通過C++ UI 觸發(fā)C# UI.

首先建立一個C#工程Class Library工程——CSharpUI

為該工程添加一個Form界面,并添加一個C#函數(shù)——InvokeUi()來構(gòu)造并顯示這個界面

 
 
 
 
  1. namespace CSharpUI  
  2. {  
  3. public class Program  
  4. {  
  5. public static void InvokeUi()  
  6. {  
  7. //class Form1-----C# UI  
  8. Form1 fm = new Form1();  
  9. fm.ShowDialog();  
  10. }  
  11. }  
  12. }  

建立一個托管的DYNAMIC LINK LIBRARY工程——MgdPro(具體步驟參考上篇文章)。

在MgdPro工程中用代碼包裝了對上述C#函數(shù)的調(diào)用,并將包裝后的類從DLL導(dǎo)出。前提條件是reference CSharpUI.dll.

 
 
 
 
  1. //.h file  
  2. #define DLLIMPEXP __declspec(dllexport)  
  3. class DLLIMPEXP MgdClass  
  4. {  
  5. public:  
  6. static void InvokeCsharpDlg();  
  7. };  
  8.  
  9. //.cpp file  
  10. using namespace CSharpUI;  
  11. void MgdClass::InvokeCsharpDlg()  
  12. {  
  13. Program::InvokeUi();  
 

***,新建一個Dialog Based的C++工程——PureC++Pro(exe工程),在工程中靜態(tài)鏈接MgdPro.dll.在Invoke按鈕的觸發(fā)函數(shù)里調(diào)用代碼觸發(fā)C#界面。

 
 
 
 
  1. void CPureCProDlg::OnBnClickedButton1()  
  2. {  
  3. // TODO: Add your control notification handler code here  
  4. //call managed c++ to invoke c# UI  
  5. MgdClass::InvokeCsharpDlg();  
  6. }  

運行界面如下所示:

【編輯推薦】

  1. 使用托管C++粘合C#和C++代碼(一)
  2. 如何學(xué)好C++,用好類庫很重要
  3. 認(rèn)識基于中間件的軟件開發(fā)方法
  4. JSP動態(tài)網(wǎng)站環(huán)境搭建應(yīng)用中的詳細(xì)步驟
  5. Java編譯器優(yōu)化方法簡介

當(dāng)前文章:使用托管C++粘合C#和C++代碼(二)
分享鏈接:http://www.dlmjj.cn/article/djhhojj.html