Time of Update: 2018-12-03
unit textUnit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, printers, OleServer, Excel2000;type TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; Edit1: TEdit;
Time of Update: 2018-12-03
//StringGrid隔行顏色代碼 procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin with StringGrid1 do begin if ARow mod 2 = 0 then begin Canvas.Brush.Color := RGB(255,255,255); Canvas.Font.Color:
Time of Update: 2018-12-03
fastreport的官方網站上的fp3檔案閱讀器是英文的,為客戶能使用中文版的,自己寫了一個,很簡單: {******************************************************FP3 Viewerby xander.xiao@gmail.comVersion 1.0.0.0, 2009-3-20*******************************************************}program FP3Viewer;uses
Time of Update: 2018-12-03
在目前流行的三層構架RemObjects、kmbMW、RealThinClient中RealThinClient以輕量、簡單博得不少Delphi使用者的青睞。這裡我向大家示範的架構比RealThinClient更輕量,更簡單。這就是利用Intraweb作為中介層,Indy
Time of Update: 2018-12-03
開啟Atozed官方BLOG,http://www.atozed.com/IntraWeb/Blog/index.EN.aspx我們看到如下訊息:XII - New production release 12.2.12.112/13/2012After a few weeks, IntraWeb version 12.2.12.1 was promoted to production status.Click here to be redirected to the download page.
Time of Update: 2018-12-03
程式小組的構成程式小組指軟體開發過程中人員的集合,它是軟體生命週期內一定時間段內軟體開發的所有參與者的集合。所包括的角色有:專案經理(Leader)市場人員(Product Descriptor)系統分析員(System Analysiser)軟體/硬體設計師(Software/Hardware Desinger)測試人員(Tester)使用者(Customer)軟體開發人員組織圖舉例文獻中能找到的人員組織主要有兩類,一是協作式組織,另一種是領導式組織。協作式組織特點是有多個地位相當的Team
Time of Update: 2018-12-03
cryptto 加解密的,太專業json json解析的 atexit.cc,順便可以看一下crt0.c瞭解下程式的啟動和關閉過程程式退出前做動作的,通過超出變數範圍時調用析構,執行事先註冊在一個棧變數的函數,具體是執行的啥沒看過首先其他函數調用RegisterCallback然後退出前具體執行 ProcessCallbacksNow(); base_switches.cc一些設定選項怎麼用還待查 namespace switches {// If the program
Time of Update: 2018-12-03
今天又發現了一個無法得到變數的原因,一併整理如下1,就是最簡單,刪除pdb重建2,從網上下的一份代碼,某個檔案總是得不到變數,對比尋找發現多了幾個pragma設定,注釋掉//#ifdef _AFX_MINREBUILD//#pragma component(minrebuild, off)//#endif//#ifndef _AFX_FULLTYPEINFO//#pragma component(mintypeinfo,
Time of Update: 2018-12-03
Berkeley DB 概述皮東 Berkeley DB是由美國Sleepycat Software公司開發的一套開放源碼的嵌入式資料庫的程式庫(database library),它為應用程式提供可伸縮的、高效能的、有事務保護功能的資料管理服務。Berkeley DB為資料的存取和管理提供了一組簡潔的函數調用API介面。 它是一個經典的C-library模式的toolkit,為程式員提供廣泛豐富的函數集,是為應用程式開發人員提供工業級強度的資料庫服務而設計的。其主要特點如下:
Time of Update: 2018-12-03
Dev-cpp是一個GCC在win32下的IDE程式,用Dephi 5編寫,只有2M具有以下功能: 1.整合編譯環境,支援工程模板. 2.支援文法加高,自動注釋,對中文的支援也不錯. 3.支援CVS整合 4.支援源碼分析,可以形成類樹圖. 5.支援擴充包.Dev-cpp官方發布有整合MinGW32 gcc編譯套件,最新支援GCC 3.3(2003-7-15)也可以支援MinGW其它版本和Cygwin
Time of Update: 2018-12-03
分別來自與sourceforge和codeprojectsigslot的運行方式比較容易理解,就是將對象指標和函數指標儲存到連表裡,然後調用的時候再取出來執行fastdelegate看他的文檔看的一頭霧水,看完了也沒弄清楚作者說的為啥快和快到哪裡去了,只是記憶體消耗確實變少了因為他將所有的虛函數,多重繼承等的this指標做了個複雜的取實際地址操作,所以他的一次bind只需要8個位元組就夠了但是除記憶體外,沒看到會比sigslot快http://sigslot.sourceforge.net/ht
Time of Update: 2018-12-03
問題的提出:如果你沒有用過 TAction,或許你不該說你會 Delphi。TAction 大大簡化了介面邏輯的關聯,加速了項目的開發。不過我在程式中大量使用 TAction 時,無意發現這樣一個問題:如果程式的某個表單裡有超過100個 TAction,在運行這個程式時,只要不停的在該表單上快速移動滑鼠,CPU 佔用率會猛增到 30% 左右。 為什麼會有如此高的 CPU 佔用?使用 Spy++ 調試後發現,一旦滑鼠快速在表單上移動,程式會頻繁發送 WM_UPDATE
Time of Update: 2018-12-03
chrome的動畫機制 動畫首先需要建立一個容器,負責時間調度,這裡是AnimationContainer這個類裡面使用的是base::RepeatingTimer來開設定settimer,然後回調到run()timer_.Start(min_timer_interval_, this, &AnimationContainer::Run);run(){ Elements elements = elements_; for(Elements::const_iterator
Time of Update: 2018-12-03
關鍵字:MFC, MDI, Flicker用Visual Studio的App
Time of Update: 2018-12-03
最後一種記憶體問題是 Stack corruption 和 Stackoverrun。stack overrun 很簡單,一般是由於遞歸函數缺少結束條件導致,使得函數調用過深把 stack 地址用光,比如下面的代碼:Void foo(){Foo();}只要在調試器裡重現問題,調試器立刻就會收到 Stack overflow Exception。檢查 callstack 就可以立刻看出問題所在:0:001> g(cd0.4b0): Stack overflow - code
Time of Update: 2018-12-03
DELPHI 光碟片中有一個瀏覽器的示範程式 coolstuf。我發現它的奇怪問題:一旦你將第三行工具列“連結列”拖動到最頂端,然後再拖回原來的位置,那麼工具列最下方會多出一個大概 40px 的空白地區。這個顯然是 TCoolBar 沒有封裝好的緣故,我暫時稱該問題為“工具列錯位”。我發現如果有 Band 設定過 FixedSize=True,就會出現偏差,沒設定過就沒有問題。我猜測可能是工具列高度發生變化後,Band 的高度屬性未被真正更新所致。(ReBar
Time of Update: 2018-12-03
首先發送一串B編碼給指定的伺服器,這個可以通過設定traker或者dht來指定這個伺服器session_handle.add_dht_router(std::make_pair(std::string("bt.teyouqu.com"),
Time of Update: 2018-12-03
正常打入訊息迴圈的方法: 如果要監視 WM_CONTEXTMENU 訊息來實現菜單的右鍵菜單,一般做法是通過子類化 (subclass) Menus.PopupList.WndProc 的方法來處理視窗訊息。簡單講就是:打入訊息迴圈,完成我的處理,再把訊息交還給原先的訊息處理函數。當不需要監視訊息的時候再退出訊息處理(un-subclass)。這樣做的好處是:不打破控制項的結構。procedure TMyMenuMessagesHandler.SubclassWndProc;begin
Time of Update: 2018-12-03
一說到修改 Delphi 源碼或者訪問對象的私人成員函數,很多人馬上可以說出種種危害來否定我。這種做法我也提倡,但是有時候如果可以靈活運用,可以解決由於 Delphi 因為封裝不正確而帶來的問題。我在這裡分享一些技巧:1. 訪問私人成員變數如果是 protected
Time of Update: 2018-12-03
對mfc的訊息機制很不理解,花了一天時間粗看了下李久進和侯捷的深入淺出又從網上搜了部分,http://www.cppblog.com/nacci/category/1784.html理解和摘抄部分整理如下1,rtti機制,這個就是每個類都定義一個靜態變數,裡面有父類的這個靜態變數地址,然後判斷是否有繼承關係就迴圈這判斷父類的要比較的對比下就行了BOOL CRuntimeClass::IsDerivedFrom(const CRuntimeClass* pBaseClass) const {