delphi問題請教
初到貴地,請各位照顧,有幾個問題,久思不解,特來此請教,請多多哈哈
說明,我們在windows xp(sp2)用delphi7+sql server2000編程,以上問題在不同機器上都有多次測試,delpi我們用了pack1補丁
1〉現在有包文件,其中的一個form,好象不太正常,
就是view as text的時候,
顯示的drm文件,如下
inherited fmEditBaseX: TfmEditBaseX
。。。。。
object dsMaster: TDataSource [3]
AutoEdit = False
DataSet = cdsMaster
Left = 296
end
object dxBarDBNav: TdxBarDBNavigator [4]
BarManager = dxBarManager
。。。。。
其中的後面的序號 [3]是什麼意思
下面還有
。。。
inherited RzFrameNormal: TRzFrameController [13]
Left = 520
Top = 369
end
inherited RzBalloonHints1: TRzBalloonHints [14]
Left = 456
Top = 369
end
。。。
這些數值以此加一, 是可以刪除,但他會自動產生
2〉Form繼承,我們用到的Form,都是從我們自己的Framework繼承來的,有時候(8%),在Framework中會出現‘A Compont named xxx already exist’的錯誤,這個xxx的控件名稱是固定的;偶爾(3%)Form的繼承關系會遺失,表現在dfm文件中的inherited變成了object,why? 在搜尋路徑上是有的,他們都在一個目錄裏面(他們是一個project裏面的)。
3〉控件浮動,我們有用到Express系列的dxBarmanager控件,用它建立了兩組控件,第一組是對master dataset操作的,第二組是對Detail控件操作(問題就發生在第二組控件)用一個dxBarDockControl來將他固定到一個panel的右邊,有時候(40%),他就會自己浮動出來,爾不在哪個dxBarDockControl中,我們嘗試修改他的一些屬性(AllowDocking等),都不能成功
4>Sql server2000 中,sysindexes表中的rows字段,大家如呵理解
5>項目的源碼路徑是c:\source,設置project option的directions的dcu output directory = c:\dcu目錄,Unit output directory == c:\dcu;這些路徑都是存在的,該目錄不是readOnly的。
有時候,他們的dcu的輸出,不是輸出到自定的目錄c:\dcu,而是輸出到源碼所在的c:\source目錄,why?
問題發生后,有刪除project的dof文件,重新設置project option,再build,有時候問題還是存在 (我沒有可以明確提供的信息)。
6〉使用delphi的ClientDataSet控件,用cxGrid來顯示數據,
問題:我們在ClientDataSet的AfterScroll中寫了代碼,但在formShow的時候,該代碼就被多次(= 記錄條數+4)調用,用call stack來debug,誰來調用了這段代碼,沒有發現調用者,估計可能是cxDataControl
7〉是一個master-detail的Form,主表和子表之間用MasterSource來關聯,子表的PacketRecords = 0,其commandText = 'Select * from Detail where DetailId = :MasterId',查詢的參數的設置也是正確的,使用delphi的ClientDataSet控件,用cxGrid來顯示數據。
問題:其他的新增,修改功能正常,但刪除全部明細(如果不是全部刪除,是正常的),並post和apply到數據庫后,用profile查看,數據實際上已經刪除,但在這些數據在cxGrid還是有顯示(如果是使用delphi的Grid,功能正常),why?