- 複製 Delphi 2010 的 *.BPL 檔案至 WINNT\System32
- 複製 MIDAS.DLL 至 WINNT\System32
- 安裝 MDAC 2.8
- 安裝 Windows Installer 3.1
- 安裝 SQL Server native Client
2010年1月22日 星期五
在 Window 2000 之下執行 Delphi 2010 的應用程式
2010年1月18日 星期一
使用 SQL Server 開啟 DBF 檔案
dBase 的 DBF 檔,可以使用 Jet 4.0 開啟
所以可以在 SQL Server 的管理工具中這樣下:(假設你的 DBF 檔是 C:\DBF\ABC.DBF)
SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', 'Data Source=C:\DBF;Extended Properties=dBase III;')...ABC
ABC 前面的三個點不可以省略,因為是 server_name.database_name.schema_name.table_name 四部份名稱中間省略了 database_name 和 schame_name 之後留下的三個點
如果SQL 2005/2008 出現
SQL Server 已封鎖元件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 之存取
這樣的錯誤訊息,請先到
SQL Server 介面區組態 >> 功能的介面區組態 >> 特定遠端查詢
去開啟 啟用 OPENROWSET 與 OPENDATASOURCE 支援之後,就可以執行了
2010年1月8日 星期五
X64 系統 BDE merge module 安裝方法
由於 x64 系統已經無法執行 16 bit 的程式,使得原先的 BDE 安裝程式已經無法使用了,解決方法就是重包一個(至少是 x32 的)安裝程式。
重包 BDE 安裝程式,需要 BDE merge module。可以於此處下載:http://support.installshield.com/kb/view.asp?articleid=Q104962
2009年10月30日 星期五
取得物件的私有欄位、呼叫已經綁定在物件上的事件
如果私有欄位定義在 base class 中,則傳入 obj.GetType().BaseType
執行範例一:
Field Name | Type | Static |
---|---|---|
EventPageIndexChanged | System.Object | Yes |
EventPageIndexChanging | System.Object | Yes |
EventItemCommand | System.Object | Yes |
EventItemCreated | System.Object | Yes |
EventItemDeleted | System.Object | Yes |
EventItemDeleting | System.Object | Yes |
EventItemInserting | System.Object | Yes |
EventItemInserted | System.Object | Yes |
EventItemUpdating | System.Object | Yes |
EventItemUpdated | System.Object | Yes |
EventModeChanged | System.Object | Yes |
EventModeChanging | System.Object | Yes |
Field Name | Type | Static |
---|
??怎麼沒有東西??
那麼改用 ListFields(dropDownList1.GetType().BaseType) 試看看
Field Name | Type | Static |
---|---|---|
EventSelectedIndexChanged | System.Object | Yes |
EventTextChanged | System.Object | Yes |
拿到這些私有欄位的名稱有什麼用?各位發覺到了嗎,這些私有欄位都是以 Event 開頭的,也就是說這些是用來儲存 Delegate 的私有變數
接下來,就可以利用以下的程式,來呼叫「已經綁定在物件上的事件處理函式」
2009年6月17日 星期三
UpdatePanel 與 ValidationSummary 合併使用的注意事項
- Validator 以及由 Validator 驗證的控制項必須放在同一個 UpdatePanel 中
- ValidationSummary 也必須放在 UpdatePanel 中,可以跟 1 的不同
2009年4月17日 星期五
網路收音機 Ver0.61 更新事項
Ver 0.61 更新事項
- 因 HiChannel 修改了網路廣播的收聽方式,故作此更新
- 頻道下拉清單字體改小,以便更完整的顯示頻道名稱
WebRadio.xml 中修改的項目有:
- <URL ID="hinet"> 標籤的 URL 部份
- <CHANNEL> 標籤中,是由 HiChannel 提供服務的 SUBID 部份
老問題:用滑鼠點擊 Button 與按快速鍵行為不一致的解決方法
我們常常會將 Button.Caption 設定為像「&F. 檔案」這樣的內容,以便於將 Alt-F 快速鍵與 Button 連在一起
也常常會將一些輸入 Edit 的檢查,寫在 Edit.OnExit 事件處理函式中
假如這兩個碰在一起,就會發生用滑鼠點擊 Button 與按下快速鍵行為不一致的問題
因為按下快速鍵時,並不會轉移 Focus,會直接觸發事件處理函式,使得 Edit.OnExit 事件無法被觸發
解決方法如下:
於 Button.OnClick 事件處理函式的開頭加入以下兩行:
if (Sender as TWinControl).CanFocus then
(Sender as TWinControl).SetFocus;
這樣強迫轉移 Focus,就可以解決這個問題了