Time of Update: 2018-12-06
這幾天在移植代碼,將之前的項目移植到外掛程式架構裡面,因為之前是單EXE的。對記憶體流失問題不是很在意。在DLL下面就不一樣了,所以加入FastMM4來做監控調試。發現之前的ScripParser解析SQL時存在記憶體流失。 其中有段代碼 var lvItem : TSuperObjectIter;begin if ObjectFindFirst(vParam, lvItem) then try repeat FScript :=
Time of Update: 2018-12-06
用來儲存計算最終結果的資料庫是整個資訊系統的重要組成部分,技術也相對成熟。然而,對於所有資料庫而言,除了記錄正確的處理結果之外,也面臨著一些挑戰:如何提高處理速度,資料可用性、資料安全性和資料集可擴性。將多個資料庫聯在一起組成資料庫叢集來達到上述目標應該說是一個很自然的想法。叢集(Cluster)技術是使用特定的串連方式,將價格相對較低的硬體裝置結合起來,同時也能提供高效能相當的任務處理能力。本文試圖對當前主要的資料庫叢集用到的具體技術和市場上的主流產品進行分析並作點評,從而為讀者提供一個資料庫
Time of Update: 2018-12-06
procedure CopyGridRecordToJsn(pvDataSet: TcxGridDBTableView; pvValueJsn: ISuperObject);var i, j: Integer; lvField: TcxGridDBColumn; lvItem: ISuperObject;begin with pvDataSet, DataController do begin
Time of Update: 2018-12-06
今天研究了一下TMail2000,發現他的Demo發送Email根本就行了.開始發現每次[Save fields to header]時老是在mToNames列表中多了一個空的Item,發送email返回的訊息也是Bad address xxxx後來跟蹤發現function TSMTP2000.SendMessageTo(const From, Dests: String): Boolean;這個方法裡,它不會理會Dests的Item是否為空白 for Loop := 0 to
Time of Update: 2018-12-06
接第一次代碼繼續分析uses JwaWinsock2, Windows, SysUtils;const DATA_BUFSIZE = 1024; IO_TYPE_Accept = 1; IO_TYPE_Recv = 2;type //(1):單IO資料結構 LPVOID = Pointer; LPPER_IO_OPERATION_DATA = ^PER_IO_OPERATION_DATA ; PER_IO_OPERATION_DATA = packed record
Time of Update: 2018-12-06
----未建立約束if object_id('DF_hrm_EmpKaoQin_FJiaQinLX') IS NULL ALTER TABLE hrm_EmpKaoQin ADD CONSTRAINT DF_hrm_EmpKaoQin_FJiaQinLX DEFAULT (0) FOR FJiaQinLX ---更改欄位類型 ALTER TABLE hrm_EmpKaoQin ALTER COLUMN FBeiZhu VARCHAR(1600) --更改欄位不允許為空白ALTER
Time of Update: 2018-12-06
EhLibADO, initialization RegisterDatasetFeaturesEh(TADOSQLDatasetFeaturesEh, TADOQuery); RegisterDatasetFeaturesEh(TADOCommandTextDatasetFeaturesEh, TCustomADODataSet); EhLibCDSinitialization {$IFDEF EH_LIB_6}
Time of Update: 2018-12-06
很久以來網站都會關注一個問題:我的網站怎樣才能被baidu或google抓取,都希望能夠有儘可能多的被抓去,增大網站的訪問量。但是今天發現baidu的一個關鍵字搜尋後竟然能夠抓取到某些後台相關資訊,極大地泄露了使用者的資訊,這樣也許就關係到搜尋引擎行業的職業道德問題了,同樣用google就沒有搜尋出來(且不管它對中文搜尋能力如何),搜尋引擎這把“雙刃劍”,在給人們帶來方便的同時,是否也帶來了也寫“搜尋道德”上的思考?作為一名web程式員,我立刻搜尋了(呵呵,我這搜尋可是正當地^_^)下盡量防止被
Time of Update: 2018-12-06
自己寫的declare @count intDECLARE @SQLString nvarchar(500) ,@TableName varchar(100)SELECT top 1 @TableName = name from sysobjects where xtype='u'SELECT @SQLString = 'select @innercount=count(1) from ' + @TableNameEXECUTE sp_executesql @SQLStri
Time of Update: 2018-12-06
今天又想在資料字典裡多增加一項新的功能,想想又要去增加欄位,麻煩!翻了一下資料。決定讓規範TAG,讓TAG可以表示更多的含義*前題TAG_STR裡的數字只允行為2的次方1.增加TAG的編製欄位[TAG_STR],為字串,可以產生TAG2.[TAG_STR]欄可以輸入1 or 2 or 4 or 8 or 16 or 32 ... 只允許有數字和'or' 然後產生TAG, 數字只允行為2的次方3.程式裡可以進行檢測 const FTAG_SYSTEM = 2 FTAG_APPR
Time of Update: 2018-12-06
現在IOCP可以接收到資料了。 >>>>>>>>>其實IOCP的隊列是先進先出的,經過測試,看來是我記錯了!!!!>>>>2013年4月20日 16:22:46 >>>>>引用TCP資料粘包的產生原因在於TCP是一種流協議。在乙太網路中一個TCP的資料包長度是1500位。其中20位的IP包頭,20位的TCP包頭,其餘的1460都是我們可以發送的資料>>>>>
Time of Update: 2018-12-06
今天在試tomcat時發現簡單的Structs都會出錯。一查發現<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%> 引起的。原來是相應的jar沒有發布到tomcat下。想想之前的 <%@ taglib prefix="c"
Time of Update: 2018-12-06
總結:1. 使用CloneCursor(FSourceCds, false), 新的Cds移動(first, next, piror, last)不會影響到FSourceCds的移動. pvParentKey:=FCdsGongChengPZJL_TV.FieldByName('FKey').AsString; lvTmpCds := TClientDataSet.Create(nil); lvTmpCds.CloneCursor(FCdsGongChengPZJL_TV,
Time of Update: 2018-12-06
今天完成了第三點,初步按照netty 的做法製作了Decoder,由於我現在用的2007還沒有泛型,所有我使用的返回TObject做法我先介紹下netty的處理資料的流程1.IOCP接收的資料。2.寫入到通訊端對應的緩衝。3.調用Decoder,進行解碼。4.如果解碼成功調用通訊端對應的資料處理方法。 第一步和第二步我把他歸納到IOCP的底層通訊要完成的功能。第三步在這裡需要和用戶端定義協議。和資料打包和拆包的格式。第四步處理具體的商務邏輯。 下面我一一貼出代碼第一步由IOCP完成。第二步if
Time of Update: 2018-12-06
以前一直認為這個xp的一個bug(也應該是系統的bug)每次需要複製中文的時候到另外的記事本裡的時候在要複製的介面裡我都將IME切換到中文IME,然後複製才可以解決複製出現的亂碼問題.到前幾天我幫我老婆裝個IME時習慣性的裝好IME後,把[簡體中文-美式鍵盤]刪除,換成[英語(美國)-美式鍵盤]然後她就報怨說複製有亂碼問題,說以前沒有的,後來想想是不是我把[簡體中文-美式鍵盤]刪除的問題.一試果然是的想想道理,和以前的做法的原理都是一樣.保留[簡體中文-美式鍵盤]把[英語(美國)-美式鍵盤]刪除
Time of Update: 2018-12-06
整體思想,編碼方法統一(utf-8)一:頁面顯示中文亂碼問題:解決:<%@ page language="java" pageEncoding="UTF-8" %>二:傳遞參數中文亂碼問題:解決:1. 在tomcat中修改server.xml檔案。在本機上 D:\Tomcat5.5\conf目錄下找到server.xml檔案,在檔案的<Connector>標籤中加上紅色部分<Connector port="8888" maxHttpHeaderSize="8192"
Time of Update: 2018-12-06
我點擊這個部位,他執行的是建立的動作. 在這個位置點就是正常的 這個位置點,彈出這個 經過幾個小時的折騰, 也沒有找出什麼原因來我上面都的按扭都是連的是action. 居然點按鈕的前半部分不正常. 點後半部分才正常. 寫這麼多年程式, 頭一次見到...,我把他換成dxBar是正常的. 後來再換回來, 把屬性ShowCaption設為false再設為true, 把什麼AutoSize重設了幾下, 居然可以了難怪真的這幾個小時我的RP真的有問題? 至今沒有想明白是什麼問題. 如果哪位知道,
Time of Update: 2018-12-06
之前一直接從事企業管理的軟體,接觸網路比較少。網路方面的知識也很慘。最近想弄下iocp。網上找了很多資料,大部分是關於c++的。delphi的比較少。看了下,不適合剛接觸網路的菜鳥學習!看過fxh的blog,覺得寫的容易理解。http://fxh7622.blog.51cto.com/63841/7667 基本上按照他的blog代碼進行的編寫。編譯理解iocp的原理。 首先我來個通俗的理解步驟。1.伺服器建立一個iocp連接埠服務。2.伺服器建立N個背景工作執行緒,不停的輪流處理這個連接埠上面的
Time of Update: 2018-12-06
在Action的Execute中設定了request.setAttribute("guestbook.display.list", list);在jsp中得到requestScope['guestbook.display.list'],進行顯示時就是沒有辦法顯示。
Time of Update: 2018-12-06
經過研究代碼,覺得有幾個函數必須要清楚原理。才能理解代碼,清楚流程。 非同步模式:類似form.show();阻塞模式:類似form.showModal(); WSAAccept;當用戶端有串連請求的時候,WSAAccept函數會新建立一個通訊端cSocket。其他的參數可以查看MSDN,和google。需要說明的一點是這個函數不是非同步,是阻塞模式。 WSARecv;收取socket的資料這個函數是非同步模式,執行後馬上返回。資料接收到後,GetQueuedCompletionStatus,會