Time of Update: 2018-12-03
下載原始碼 VBScript(JScript)是應用廣泛,簡單易學的指令碼語言。使用VBScript(JScript)調用COM組件則更是容易。那麼,如果在你的程式中也能夠執行指令碼,則在簡化程式設計的基礎上,還會極大地提升軟體的功能。為了方便大家使用這個功能,我寫了一個具有自動化(Automation/IDispatch)功能的EXE封裝程式來代理呼叫指令碼執行。這個封裝程式介面只有2個函數,說明如下:Void SetScriptLanguage(long nLanguage);
Time of Update: 2018-12-03
編譯/hangwire 下載範例原始碼 問題: 我要編寫一個支援ActiveX文檔外掛程式(Plug-ins)的應用程式。為了建立一個已安裝外掛程式的菜單,在程式啟動時我掃描註冊表尋找已安裝的ActiveX組件。對於每一個ActiveX組件建立一個執行個體並查詢一個叫IMyAppPlugin的專門介面。如果這個介面存在,那麼我就認為這個組件就是我的程式所要的外掛程式。這樣做好像行不通,尤其是安裝有多個ActiveX組件時做起來就更困難。有沒有更好的辦法處理這種問題?解答:
Time of Update: 2018-12-03
作者:徐景周下載樣本原始碼一:EXCEL內部外掛程式下載樣本原始碼二:PowerPoint內部外掛程式一、簡介Excel2000和PowerPoint2000下內部COM外掛程式的編程實現這篇文章,實際上是< Office2000下內部COM外掛程式的編程實現> 和< Word2000/XP中內部COM外掛程式的編程實現>二篇文章的續篇。採用上篇文章<
Time of Update: 2018-12-03
用CppUnit其它與用Junit差不多,基本原理是一致的,不過我以為,與Junit相比,配置它稍微麻煩了一點.(下一篇文章,將介紹cppunit在vc6.0及vc.net下的配置)我以一個簡單的Money類為例//name:money.h#ifndef MONEY_H#define MONEY_H#include <string>class Money{public: Money( double amount) : m_amount( amount ) { }
Time of Update: 2018-12-03
Author: Cpluser
Time of Update: 2018-12-03
作者:ZhengKui下載原始碼講解: 這是根據”Dr. GUI and ATL” 的文章自己做的例子程式,主要是在原有介面上繼承新的介面,這樣在保留原介面的基礎上可以擴充新的功能.功能介紹:1.建立Calculate組件,添加IFun介面(注意:本例我們在Attributes中我們選擇Apartment,Custom,Yes).在IFun介面中添加函數Add實現兩數相加的功能(參數為[in] long n1, [in] long n2, [out, retval] long
Time of Update: 2018-12-03
作者:李漢鵬下載原始碼 本文分如下章節: 前言 在MFC中使用瀏覽器 怎樣擴充或定製瀏覽器 定製滑鼠右鍵彈出出菜單 實現指令碼擴充(很重要的external介面) C++代碼中如何調用網頁指令碼中的函數 定製訊息框的標題 怎樣定製、修改瀏覽器向Web伺服器發送的HTTP要求標頭 怎樣修改瀏覽器標識 去掉討厭的異常警告 怎樣處理瀏覽器內的拖放 怎樣禁止網頁元素的選取 其它 前言 由於本人在開發中經常要在程式中嵌入瀏覽器,為了符合自己的需求經常要對瀏覽器進行擴充和定製,
Time of Update: 2018-12-03
編譯:徐景周下載本文樣本原始碼 簡介Office2000/XP中Word下的內部COM外掛程式的實現方法和前面我的文章《 Office2000下內部COM外掛程式的編程實現》中介紹的樣本Outlook2000下內部COM外掛程式的實現方法與步驟基本相同,在這裡,我想不用再重複哆嗦大部分前面文章裡已經講過的內容了,只將重點放在它們間實現的不同點上,有興趣的朋友可以參看前面這篇文章,然後再看這篇文章一定會事半功倍的。本文章提供的Word內部COM外掛程式樣本源碼運行後的如下所示:
Time of Update: 2018-12-03
譯者:徐景周下載樣本原始碼簡介你也許曾在Office2000下的Word2000、Access2000、Excel2000、PowerPoint2000等軟體中的工具條或菜單條資源中,看到一些其它軟體加入的新的自訂工具條按鈕或菜單條,當點擊它們時,會有其不同的響應發生。下面,讓我們也來實現這些功能,需要說明的是,在這裡我們不用VB/VBA來實現它,而是用VC6中所帶ATL(Active Template
Time of Update: 2018-12-03
CppUnit測試架構入門(1)Author: Cpluser
Time of Update: 2018-12-03
在為Linux開發應用程式時,絕大多數情況下使用的都是C語言,因此幾乎每一位Linux程式員面臨的首要問題都是如何靈活運用C編譯器.目前Linux下最常用的C語言編譯器是GCC(GNU Compiler Collection),它是GNU項目中符合ANSI C標準的編譯系統,能夠編譯用C、C++和Object
Time of Update: 2018-12-03
CppUnit測試架構入門(2)Author: Cpluser
Time of Update: 2018-12-03
下載原始碼一、前言 前段時間,由於工作比較忙,沒有能及時地寫作。其間收到了很多網友的來信詢問和鼓勵,在此一併表示感謝。咳......我也需要工作來養家糊口呀...... 上回書介紹了兩種方法來寫自動化(IDispatch)介面的組件程式,一是用 MFC 方式編寫“純粹”的 IDispatch 介面;二是用 ATL 方式編寫“雙介面”的組件。 二、IDispatch 介面和雙介面 使用者要想調用普通的 COM 組件功能,必須要載入這個組件的類型庫(Type library)檔案
Time of Update: 2018-12-03
E_INVALIDARG0x80070057參數錯誤E_OUTOFMEMORY0x8007000E記憶體錯誤E_NOTIMPL0x80004001未實現E_POINTER0x80004003無效指標E_HANDLE0x80070006無效控制代碼E_ABORT0x80004004終止操作E_ACCESSDENIED0x80070005拒絕訪問E_NOINTERFACE0x80004002不支援介面 另外,你還可以返回自己構造 HRESULT 錯誤值。方法是使用宏
Time of Update: 2018-12-03
通知方式簡單說明評論直接訊息PostMessage()PostThreadMessage()向視窗或線程發個訊息你什麼時候執行我就不管啦SendMessage()馬上執行訊息響應函數不執行完訊息處理函數不會返回SendMessage(WM_COPYDATA...)發訊息的同時,還可以帶過去一些自訂的資料比較常用,所以單獨列了出來間接訊息InvalidateRect()SetTimer()......被調用的函數會發送相關的一些訊息這樣的函數太多了回呼函數GetOpenFileName()...
Time of Update: 2018-12-03
通知方式簡單說明評論直接訊息PostMessage()PostThreadMessage()向視窗或線程發個訊息你什麼時候執行我就不管啦SendMessage()馬上執行訊息響應函數不執行完訊息處理函數不會返回SendMessage(WM_COPYDATA...)發訊息的同時,還可以帶過去一些自訂的資料比較常用,所以單獨列了出來間接訊息InvalidateRect()SetTimer()......被調用的函數會發送相關的一些訊息這樣的函數太多了回呼函數GetOpenFileName()...
Time of Update: 2018-12-03
STDMETHODIMP CDispConnect::Add(long n1, long n2){long nVal = n1 + n2;Fire_Result( nVal );// 調用IDE幫我們產生的代理函數代碼,發出事件return S_OK;}15、修正 IDE 產生的代碼中的錯誤。你不用死記硬背錯誤點,只要編譯一下就會報出錯誤了。一般 VC6
Time of Update: 2018-12-03
STDMETHODIMP CDispConnect::Add(long n1, long n2){long nVal = n1 + n2;Fire_Result( nVal );// 調用IDE幫我們產生的代理函數代碼,發出事件return S_OK;}四、實現調用者(一)1、建立一個 MFC 項目。樣本程式中的名稱叫 Use。2、按照咱們以前所學的知識,添加 #import、AfxOleInit()、......不多浪費口條了。如果你還不會,那麼請重新從“第四回”再次閱讀。
Time of Update: 2018-12-03
作者:Zeeshan Amjad譯者:李馬 (home.nuc.edu.cn/~titilima ) 原文出處: http://www.codeproject.com/atl/atl_underthehood_.asp 介紹 在本系列的教程中,我要討論一些ATL的內部工作方式以及它所使用的技術。 在討論的開始,讓我們先看看一個程式的記憶體分布。首先,編寫一個簡單的程式,它沒有任何的資料成員,你可以看看它的記憶體結構。 程式1. #include
Time of Update: 2018-12-03
作者:Zeeshan Amjad譯者:李馬 (home.nuc.edu.cn/~titilima ) 原文出處: http://www.codeproject.com/atl/atl_underthehood_3.asp 介紹 如果你是個模板的高手,你就可以將ATL的學習作為一種享受。在這一節中,我將要嘗試解釋一些ATL使用的模板技術。我不能保證你讀完本節後能成為一個模板高手,只能是盡我所能讓你在讀完本文後能夠更輕鬆地理解ATL的源碼。 程式35. #include