一、建立乙個程序外元件
2)在project name欄輸入step02,單
擊ok按鈕,
在下乙個視窗中的server type欄選
擇「executable (exe)」之後,單擊finish按鈕
然後插入物件(與建立程序內元件類似):
3)開啟選單insert|new atl object,在左邊的category中選擇objects,在右邊的
objects中選擇****** object,單擊「next」按鈕
4)在names標籤中,short name欄填寫******02,不修改其他的屬性,單擊
「確定」按鈕。
加入介面方法:
5)在workspace的classview標籤中右擊「i******02」介面,從彈出的選單中選擇
「add method」,在彈出的視窗中,method name欄填寫getosversion,parameters
欄填寫[out, retval]bstr * bstrversion
修改類c******02的函式stdmethodimp c******02::getosversion(bstr *bstrversion)如下:
// ******02.cpp : implementation of c******02
#include "stdafx.h"
#include "step02.h"
#include "******02.h"
// 加入comutil支援
#include
#pragma comment( lib, "comsupp.lib" )
/// c******02
// 取作業系統資訊
stdmethodimp c******02::getosversion(bstr *bstrversion)
}else
*bstrversion = _com_util::convertstringtobstr(szosversion);
return s_ok;
}編譯程式,至此我們建立了乙個程序外元件,下面我們編譯proxy/stub程式
6)進入「ms dos」狀態,找到step02的目錄,執行nmake step02ps.mk,將建立乙個
名為step02ps.dll動態連線庫。
新建如下檔案,並加入工程:
// client.cpp 檔案
#include
#include
// 加入comutil支援
#include
#pragma comment( lib, "comsupp.lib" )
// 包含com的定義檔案,以下兩個檔案從step02中拷貝出來
#include "..\step02\step02.h"
#include "..\step02\step02_i.c"
void main()
// 建立com物件
hr = cocreateinstance(clsid_******02, null, clsctx_all,
iid_i******02, (void **)&pi******02);
if(failed(hr))
// 獲得作業系統
hr = pi******02->getosversion(&bstros);
if(failed(hr))
char *pszos;
pszos = _com_util::convertbstrtostring(bstros);
printf("the os is %s\n", pszos);
// 釋放分配的記憶體
sysfreestring(bstros);
delete pszos;
pi******02->release();
couninitialize();
return ;
}三、說明
1)程序外元件的註冊使用:
step02.exe /regserver
登出使用:
step02.exe /unregserver
在windows 98下執行我們的client.exe,可以得到
the os is win95/98
在windows 2000下執行我們的client.exe,可以得到
the os is winnt
四、常見問題
如果沒出現上面的結果,提示為:
create com failed! hr=0x80040154
解決方法是,進入ms dos方式,找到step02\debug目錄,執行step02.exe /regserver
再試一次。
關於Wince程序外元件
windows ce提供以下幾種com base的應用 1.minimal com提供最基礎的com開發介面 api 每個com物件的建立大概需要10 20k。2.com提供了普通com和ole自動化實現的支援,只能實現自由執行緒模型 程序內的com物件。各個com物件建立大概需要100 200k。...
09 React 建立元件 使用元件
建立好乙個react應用程式後,我們就需要建立元件並且使用元件,其實react開發本身就是建立元件 使用元件的過程。下面來看一下示例 上圖中的html頁面上總共有三個元件 根元件 home元件和列表元件,下面就具體聊聊該怎麼建立這些元件以及如何使用它們。建立元件 1 我們修改一下預設建立的react...
使用Native API 建立程序
使用 native api 建立程序 最近幾個星期一直在研究這個題目。因為關於方面的資料比較多 可以看下面的參考文章 所以開始時以為很快就結束了。誰知道真正動起手來才發現有很多要考慮的地方,不過還好今天終於成功了,還是很高興的。寫下來,做個小結吧。紙上得來終覺淺 須知此事要躬行。我們一般是使用 cr...