Time of Update: 2018-12-04
1 使用SafeArraySafeArray是VB中的數組儲存方式。通過SafeArray,可以在VC++和VB間相互調用。SafeArray也是Automation中的標準數組儲存方式。1.1 SafeArray處理函數COM提供了一套API用於處理SafeArray。為了保證程式和SafeArray結構無關[1],程式中建立、讀取、更改和釋放SafeArray都應該通過這些API進行,而不應該直接讀寫SafeArray結構。下面介紹常用的SafeArray處理函數。
Time of Update: 2018-12-04
CRuntimeClass在MFC中是至關重要的一個結構。CRuntimeClass沒有基類。 每個由CObject派生的類都與一個CRuntimeClass結構相聯絡,使用者可以使用該結構擷取一個對象及其基類的運行時資訊。當需要額外的函數參數檢查時,或當使用者必鬚根據一個對象的類編寫特殊目的代碼時,在運行時確定該對象的類就非常有用。C++並不直接支援運行時類的資訊。CRuntimeClass是MFC實現的RTTI(運行時類型資訊),MFC中的很多類需要由架構動態建立(比如文檔、視圖、架構視窗
Time of Update: 2018-12-04
今天解決了一個關於 mutex 的 bug.程式每次登入成功就會建立兩個線程. sign out 的時候可能會強制 Terminate 這兩個線程.當程式出現問題時用 Process Explorer 觀察各個線程. 發現其中一個線程一直在等一個對象, 開啟 windbg, 查看 WaitForSingleObject() 的參數. 找到了這個對象的控制代碼 6d0. 在 windbg 中執行:0:001>!handle 6d0 fHandle 6d0 Type
Time of Update: 2018-12-04
TCP是連線導向的,所謂連線導向,就是當電腦雙方通訊時必需先建立串連,然後資料傳送,最後拆除串連三個過程 並且TCP在建立串連時又分三步走: 第一步是請求端(用戶端)發送一個包含SYN即同步(Synchronize)標誌的TCP報文,SYN同步報文會指明用戶端使用的連接埠以及TCP連接的初始序號; 第二步,伺服器在收到用戶端的SYN報文後,將返回一個SYN+ACK的報文,表示用戶端的請求被接受,同時TCP序號被加一,ACK即確認(Acknowledgement)。
Time of Update: 2018-12-04
From OSDev WikiJump to: navigation, searchThis article describes the contents of the computer's physical memory at the moment that the BIOS jumps to your bootloader code.Contents1"Low"memory (< 1 MiB)1.1Overview1.2BIOS Data Area (BDA)1.3Extended
Time of Update: 2018-12-04
Tesseract-ocr的dll tesseract-3.02.02-win32-lib-include-dirs:Google-Tesseract-OCR 解壓之後包括 include檔案夾和Lib檔案夾,配置標頭檔和庫檔案,建立工程進行測試。#include "baseapi.h"#include "strngs.h"#pragma comment(lib,"libtesseract302.lib")char * str =
Time of Update: 2018-12-04
階乘(Factorial)是個很有意思的函數,但是不少人都比較怕它,我們來看看兩個與階乘相關的問題: 1、 給定一個整數N,那麼N的階乘N!末尾有多少個0呢?例如:N=10,N!=3 628 800,N!的末尾有兩個0。2、求N!的二進位表示中最低位1的位置。 有些人碰到這樣的題目會想:是不是要完整計算出N!的值?如果溢出怎麼辦?事實上,如果我們從"哪些數相乘能得到10"這個角度來考慮,問題就變得簡單了。 首先考慮,如果N!= K×10^M,且K不能被10整除,那麼N!
Time of Update: 2018-12-04
用DirectShow實現QQ的音視訊交談功能當下比較流行的即時通訊工具,比如MSN,QQ等都實現了視音訊功能,通過視頻,音頻,我們可以更好的和朋友通過網路進行溝通,本文通過DirectShow技術類比QQ實現了視頻和音訊採集,傳輸,基本實現了QQ的視音頻聊天的功能。 網路視音頻系統主要功能就在於視音訊採集,網路傳輸兩個方面,通過Video Capture系列API函數,你就可以輕鬆的搞定視頻捕捉,但是對於視頻的網路傳輸,則要費一番功夫了。
Time of Update: 2018-12-04
在建築電器技術領域中,人們“習慣”(此處的習慣容易導致概念性錯誤)將電分為強電(電力)和弱電(資訊)兩部分。兩者既有聯絡又有區別,一般來說強電的處理對象是能源(電力),其特點是電壓高、電流大、功率大、頻率低,主要考慮的問題是減少損耗、提高效率,弱電的處理對象主要是資訊,即資訊的傳送和控制,其特點是電壓低、電流小、功率小、頻率高,主要考慮的是資訊傳送的效果問題,如資訊傳送的逼真度、速度、廣度、可靠性。一般來說,弱電工程包括電視工程、通訊工程、消防工程、保安工程、影像工程等等和為上述工程服務的綜合布
Time of Update: 2018-12-04
一.為什麼要使用多視窗??使用Frames結構設計的HTML檔案,能夠將整個視窗分成幾個獨立的小視窗,每一個視窗可分別載入不同的檔案,令人高興的是,每個視窗是可以相互溝通的二.多視窗(1).基本結構<frameset> <frame src="url"> <frame src="url">
Time of Update: 2018-12-04
“心靈是自我作主的地方。在心靈中,天堂可以變成地獄,地獄可以變成天堂。” ——彌爾頓 我們的生活,是由自己選定的,不管是有意或是無意。如果我們選擇幸福,我們會得,到;如果我們選擇悲慘,我們也會得到。在上一章中,我們已經知道,信念是卓越的根基,而我們的信念,就是構成我們能以特別的、前後一致的方式去認識一切。信念是對生命認知、生活所做的最基本選擇,教我們如何開啟和關閉自己的思緒。因此,要邁向卓越的第一步,就是要找出能引導我們邁向心愿的信念。
Time of Update: 2018-12-04
介面介面是一個對象中可以被另一個對象調用的一組方法一個對象可以有多個介面類型是一個對象的特殊介面不同的對象可以有相同的類型,一個對象可以有多種不同的類型一個對象只有通過它的介面才能被其他對象知曉介面是可插拔的關鍵實現繼承和介面繼承實現繼承(類繼承)------ 一個對象的實現定義在另一個對象的實現的基礎上介面繼承 ------ 描述了一個對象什麼時候可以代替另一個對象使用Java為介面繼承提供了專用的結構 - interfaceJava的介面結構使專註於對象介面的設計更容易實現介面的優缺點優點
Time of Update: 2018-12-04
組合通過建立一個由其他對象組合的對象來獲得新功能的重用方法新功能的獲得是通過調用組合對象的功能實現的有時又叫彙總例如:一個對象擁有或者對另外一個對象負責並且兩個對象有相同的生命週期。(GOF)一個對象包含另一個對象集合被包含對象對其他對象是不可見的並且只能從包含它的對象中訪問的特殊組合形式組合的優缺點優點
Time of Update: 2018-12-04
在家裡用Tonado2.2協助的索引查函數時提示打不開,但是在公司電腦上能開啟,開始我以為是沒裝好, 於是卸載重新裝了一篇,沒想到問題還是沒有解決,後來發現是瀏覽器設定問題,tornado help工具預設為windows內建的IE瀏覽器,而系統安裝了其他的瀏覽器並且設定為預設的瀏覽器,從而導致tornado help文檔無法訪問協助命令。想起了我早段時間安裝了360瀏覽器,今天將360瀏覽器不設定為預設瀏覽器,而將windows內建的IE瀏覽器設定預設瀏覽器後就全部解決了。
Time of Update: 2018-12-04
第五講GDI/GDI+進階編程進階在本講中主要解決一下三個方面的內容1.圖片平鋪2.DC的位移3.儲存影像檔到本地磁碟 在繪製背景圖時,發現位元影像並沒有鋪滿整個客戶區,那麼解決這個問題的辦法有兩個,一個位元影像展開,另一個是位元影像平鋪,位元影像展開比較容易,調用StretchBlt函數就可以對位元影像進行展開拷貝,以適應客戶區大小的改變。那麼位元影像平鋪如何??在第一講中剛開始是採用BitBlt來將記憶體DC中的位元影像拷貝到目標DC上,採用的標誌位是SRCCOPY,
Time of Update: 2018-12-04
環境:VC問題: ClassView標籤頁裡不顯示類資訊或者顯示不全解決:開啟工程所在項目----->找到一個以.ncb結尾的檔案,將其刪除----->再次開啟工程----->看到完整的類資訊了----->解決。 註:NCB是 “No Compile Browser”的縮寫,其中存放了供ClassView、WizardBar和Component Gallery使用的資訊,由VC開發環境自動產生。無編譯瀏覽檔案。當自動完成功能出問題時可以刪除此檔案。編譯工程後會自動產生。
Time of Update: 2018-12-04
一、new、delete、malloc、free1.new、delete、malloc、free關係delete會調用對象的解構函式,和new對應free只會釋放記憶體,new調用建構函式。malloc與free是C++/C語言的標準庫函數,new/delete是C++的運算子。它們都可用於申請動態記憶體和釋放記憶體。對於非內部資料類型的對象而言,光用maloc/free無法滿足動態對象的要求。對象在建立的同時要自動執行建構函式,對象在消亡之前要自動執行解構函式。由於malloc/free是庫函
Time of Update: 2018-12-04
PV原語通過操作訊號量來處理進程間的同步與互斥的問題。其核心就是一段不可分割不可中斷的程式。訊號量的概念1965年由著名的荷蘭電腦科學家Dijkstra提出,其基本思路是用一種新的變數類型(semaphore)來記錄當前可用資源的數量。有兩種實現方式:1)semaphore的取值必須大於或等於0。0表示當前已沒有空閑資源,而正數表示當前空閑資源的數量;2)semaphore的取值可正可負,負數的絕對值表示正在等待進入臨界區的進程個數。訊號量是由作業系統來維護的,使用者進程只能通過初始化和兩個標準
Time of Update: 2018-12-04
注意:2007的office中,有的類名改為了後面加0,如CRange0 CDocument0, 一些函數名稱也改了,格式修改如getText改為了get_Text(),讀取word 文檔:記得修改CDocuments , CDocument0 等的標頭檔中的如下://另外記得加上#pragma once#pragma
Time of Update: 2018-12-04
在資料庫的項目中,一定會有輸入資料的Form。最令錄入人員頭痛的就是每填完一個資料後,要再操作滑鼠,或者另一隻手按一下Tab(不過還是很麻煩)。最人性化的就是:按斷行符號鍵(在小鍵盤內輸入只要一隻手就可以了),還可以用方向鍵控制。第一步:Form的KeyPreview的屬性為True;第二步:按照需要把TabIndex按順序設定; 第三步:編寫一個方法,代碼如下: '---FocusMove Is Function Name-- '---ControlName Is the Control's