Time of Update: 2018-12-05
依然是官網的例子,是http://mxr.mozilla.org/seamonkey/source/modules/plugin/tools/sdk/samples/scriptable/我要使用的平台是Windows 按照網頁說明編譯該項目:https://developer.mozilla.org/en/Compiling_The_npruntime_Sample_Plugin_in_Visual_Studio 需要說明的是,由於這個項目引用了xpidl語言,所以不應當再使用MS的MIDL
Time of Update: 2018-12-05
一、FireFox擴充中的外掛程式註冊問題使用擴充,如果擴充中帶了XPCOM組件,放在擴充的components目錄下,名別寫錯了,今天折騰半天就因為筆誤,總是馬虎。然後要刪除profile中的兩個xpt檔案,重起FireFox,它們會自動註冊。所以組件介面等有變化時,不但要更新components目錄,還要刪dat檔案 二、FireFox外掛程式或擴充DLL依賴的問題困擾好久的問題終於看到了官方的解決辦法,覺得也很不理想,外掛程式如果有依賴的DLL,當然了這種DLL不是FireFox內建的,但
Time of Update: 2018-12-05
繼續深入敵後。。 上次全還都是皮毛,木有進入操練中。我一直很想知道 JS 和 NPAPI 他們倆怎麼攪合的。 作自我批評,不要說文檔少,一頁紙就夠你用,只是從來不用心去讀。 對了,NPP 這個代表的是 NP Plugin;NPN 就是 NP Netscape 了。簡單說明下。 7. 理解 Plugin API —— 方法和資料結構體(DS)。貌似 API 都這樣。。方法即上邊提到的兩類:NPP 和 NPN。兩者互相調用,前者使用者實現,後者 Gecko 實現。不過 NP_Initialize
Time of Update: 2018-12-05
C++代碼參見Google cpp styleBackgroundOne way in which we keep the code base manageable is by enforcing consistency注意一致性Header FilesThe #define Guard應在檔案頭中使用#ifndef FOO_BAR_BAZ_H_#define FOO_BAR_BAZ_H_...#endif // FOO_BAR_BAZ_Hdefine guard wiki詳解Header
Time of Update: 2018-12-05
一、斷點叫用次數設定的技巧寫這樣一段代碼,在 k == 0時,程式會崩潰。 for (int i = 1000; i >= 0 ; i--) { int k = i/10; int j = 1000 / k; //A行 }在A行設定一個斷點,設定叫用次數等於1000,運行。崩潰時查看斷點視窗,會顯示“條件是叫用次數
Time of Update: 2018-12-05
用C++編寫XPCOM組件 還是先開看看官網給的例子,下載樣本程式 xpcom-test 配置方法見文章
Time of Update: 2018-12-05
通過原型實現。這裡邊好像還有效能問題。<html><body><script type="text/javascript">function test(){ this.add = function(a, b){ return a + b; }}var t = new test();document.write(t.add(3, 4));function test1(){}test1.prototype.add =
Time of Update: 2018-12-05
今天在處理自訂的View的時候,本想實現接收到touch事件後設定View擷取焦點,從而接收按鍵事件,不過總是不成功, 後來發現view裡面是除了void setFocusable(boolean focusable) 以外,還有一個void setFocusableInTouchMode(boolean focusableInTouchMode) 這個函數的描述如下:Set whether this view can receive focus while in touch mode.
Time of Update: 2018-12-05
一直想抽空把Spring源碼拿來讀讀,但真正去做這件事的時候發現不簡單,Spring發展這麼多年,它的規模已不是一個一般的開源架構所能比的,它的主要架構和流程不是非常清晰,很難抓到要害,但有一點可以肯定,它的根基是IoC和AOP,所有的功能擴充和對其他開源架構的支援都是基於這兩點來做的,因此要搞定Spring源碼主要就是要搞定IoC和AOP這兩塊。IoC從原理上來說是非常簡單的,無非就是從設定檔解析開始到最後在內建容器中管理各個對象,但從Spring
Time of Update: 2018-12-05
打算編寫一個Firefox的外掛程式,先開看看官網給的例子 :http://mxr.mozilla.org/seamonkey/source/modules/plugin/samples/npruntime/下載方式:試了下SVN下不了,只能手動了,點擊到項目中的每個檔案,頁面右上方出現一個方框,裡面有CVS Log,CVS Blame,CVS Graph,Diff file,Raw file。選擇Raw
Time of Update: 2018-12-05
new Image()。onload。onerror。JS 實現。//判斷瀏覽器var browser=new object();browser.useragent=window.navigator.useragent.tolowercase();browser.ie=/msie/.test(browser.useragent);browser.moz=/gecko/.test(browser.useragent);//判斷是否載入完成function
Time of Update: 2018-12-05
前段時間學習了一下QtQuick的結構體系,初步總結如下: QtQuick是從Graphics View架構發展而來的,這個架構的核心類有以下幾個: QGraphicsView 繼承自QWidget,用於顯示QGraphicsScene中的QGraphicsItem對象 QGraphicsScene 用於管理和維護QGraphicsItem QGraphicsItem
Time of Update: 2018-12-05
首先去微軟官方網站下載SDK如果你下載的是2004版沒有directshow工程,再下載這個補充包http://www.microsoft.com/download/en/confirmation.aspx?displayLang=en&id=11388一、配置方法1、先編譯Samples/C++/DirectShow/BaseClasses中的工程檔案。注意工程的預設選項是Debug_Unicode的,在非Unicode的工程中使用還需要編譯Debug版本的。“DXSDK90/SAMP
Time of Update: 2018-12-05
STEP2 設計遊戲情節體驗基於引擎開發遊戲之後,讓我深切感受到,遊戲=情節+美工+引擎,編程技術在裡面不是決定性因素。一個遊戲成功與否很關鍵的一點是導演和編劇,這和電影電視很類似。當然,兩個小時之內不可能做出很複雜的東西,就做一個遊戲界的helloworld: 英雄打怪獸。英雄可以發子彈打怪獸每個怪獸有五滴血怪獸追著英雄跑贏:英雄打光怪獸輸:英雄碰到怪獸下面是最後成品的:還不錯吧
Time of Update: 2018-12-05
一直不想動這個東西,是源於心理的惰性。當沒有退路可言時,我在研究。 因為一直與伺服器端調整不順暢,讓現在的項目總是卡在一個地方。靠別人無法解決問題,只能自己研究。所以拿出這個東西來玩。 解關於過濾器的問題:(以下文檔來自於網路) 過濾器文法-------------------------------------------------------------最簡單的過濾允許你檢查一個協議或者欄位的存在。如果你想查看所有的使用IP協議的資料包,過濾器為“ip”(不帶引號)。想看所有包含Token
Time of Update: 2018-12-05
看來需要用這個才是關鍵的處理。利用SHA1 源碼來處理超大檔案的checksum值計算真的好慢。 改用:Windows Crypt API。先嘗試一下看不看快起來。 If you happen to be developing your code to be Microsoft Windowsspecific, the Windows Cryptographic Library contains the MD5 and SHA-1hash functions. Microsoft
Time of Update: 2018-12-05
遇到一個問題,string轉換為 int。利用 boost 庫檔案。 報錯catch異常為: IEXPLORE.EXE 中的 0x7c812a6b 處未處理的異常: Microsoft C++ 異常: 記憶體位置 0x0012d5c8處的boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::bad_lexical_cast>>。 為何異常,原因如下:
Time of Update: 2018-12-05
本文主題: FF plugins 封裝 IE Activex 控制項。 主要有兩點: 1. 在 c++ 中調用 COM 介面。2. 資料類型間的轉換。 具體解析: 1. 如何在 c++ 中調用 COM 介面: @1 初始化 COM 庫;HRESULT hr = ::CoInitialize(NULL);@2 建立 COM 組件執行個體;IFileDlg *pDlg = NULL;// 以下是修正方法。hr =
Time of Update: 2018-12-05
關於 Image 對象 onload 事件。 想擷取的是 image 的 寬高值。所以用 onload 方法。另外是擷取的遠程圖片。 但IE在第二次顯示圖片的時候,總是不走 onload 方法。代碼: var img = new Image();img.src = "loading.gif";img.onload = function(){var iheight = img.height;var iwidth = img.width;}; 後來給xiaoniu同學看了後才知,img.src
Time of Update: 2018-12-05
當在webview裡開啟一個連結時,預設地會通過AcitivtyManager尋找合適的瀏覽器進行開啟,如果想避免這種事情的發生的話,可以參考http://blog.csdn.net/boyupeng/archive/2011/02/28/6212651.aspx這篇博文的方法進行實現 具體就是實現一個繼承於WebViewClient的類,例如:public class TestClient extends WebViewClient {public boolean