说明,我们在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〉控件浮动,我们有用到Express系列的dxBarmanager控件,用它建立了两组控件,第一组是对master dataset操作的,第二组是对Detail控件操作(问题就发生在第二组控件)用一个dxBarDockControl来将他固定到一个panel的右边,有时候(40%),他就会自己浮动出来,尔不在哪个dxBarDockControl中,我们尝试修改他的一些属性(AllowDocking等),都不能成功3>项目的源码路径是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,有时候问题还是存在 (我没有可以明确提供的信息)。4〉使用delphi的ClientDataSet控件,用cxGrid来显示数据,
问题:我们在ClientDataSet的AfterScroll中写了代码,但在formShow的时候,该代码就被多次(= 记录条数+4)调用,用call stack来debug,谁来调用了这段代码,没有发现调用者,估计可能是cxDataControl5〉是一个master-detail的Form,主表和子表之间用MasterSource来关联,子表的PacketRecords = 0,其commandText = 'Select * from Detail where DetailId = :MasterId',查询的参数的设置也是正确的,使用delphi的ClientDataSet控件,用cxGrid来显示数据。
问题:其它的新增,修改功能正常,但删除全部明细(如果不是全部删除,是正常的),并post和apply到数据库后,用profile查看,数据实际上已经删除,但在这些数据在cxGrid还是有显示(如果是使用delphi的Grid,功能正常),why?6〉Form继承,我们用到的Form,都是从我们自己的Framework继承来的,有时候(8%),在Framework中会出现‘A Compont named xxx already exist’的错误,这个xxx的控件名称是固定的;偶尔(3%)Form的继承关系会遗失,表现在dfm文件中的inherited变成了object,why? 在搜寻路径上是有的,他们都在一个目录里面(他们是一个project里面的)。

解决方案 »

  1.   

    1〉没有遇见过。
    2〉好像可以设置最大和最小。另外组件需要手动去设置。程序实现对其控制。
    3〉你认为这个可能吗?设置了各种配置后把项目build一次
    4〉clientdataset在一open的时候就调用了那么函数。您可以在afteropen以后再指定afterscroll
    5〉
    6〉看了半天我觉得你的delphi有问题,建议重新安装,别去装太多的delphi工具了,什么coderush的别装
      

  2.   

    to: richard_ouyang
    謝謝你的回答,給了我很多提示
    上问题在不同机器上都有多次测试,delpi我们用了pack1补丁3:這個可能20%會出現了6:如果別人的機器沒有這個問題,那可能是我的Delphi的Ide有問題
      

  3.   

    1:就是数组
    2:没遇到过,我感觉也不会有这问题
    3:我想是你在点save all时不小心点选存储目录造成的
    6:你编代码是存储出了错,有些名字你用过的
      

  4.   

    to :whbo(王红波),謝謝你的答復1:就是数组,這些控件都是一個一個的,而且這後面的數字最高到33,很明顯不是數組3:我想是你在点save all时不小心点选存储目录造成的
      不會的,因爲我們的一些基礎控件或form,現在不會再更新修改,對我們來講,就是繼承來用的to:Heyongfeng(小何) 
      原話如下:以上问题在不同机器上都有多次测试,delpi我们用了pack1补丁  在6個以上的機器上試過
      

  5.   

    而且這後面的數字最高到33,很明顯不是數組
    ??为什么到33就不是数组了呢?像components[]实际就个数组的
    你把它理解为重Twincontrol继承来的数组不就行了
      

  6.   

    to :whbo(王红波),  這些組件,我們都比較熟悉,畢竟是我們寫的dd拉  我可以保證:他們不是數組,
      
      謝謝閣下的對該問題的關注和回復