2011-09-20 57 views
39

我們正在體驗Firemonkey的ScrollBox組件中似乎是一個奇怪的錯誤(因爲TGrid繼承自TScrollBox它也會影響所有網格)。在我們的開發機器上,一切正常,而另一些則發生錯誤。我們未能檢測到系統之間的任何模式(我們檢查了操作系統,圖形硬件,DirectX版本)。Firemonkey ScrollBox Bug

繁殖:

  1. 創建一個新的FireMonkey應用。在表格上放置一個TScrollBox
  2. 將一個按鈕添加到滾動框並將其垂直位置設置爲500000.
  3. 啓動應用程序並檢查滾動到滾動框結尾時是否顯示按鈕。

如果發生錯誤,該按鈕不可見。

使用網格時,會導致1-19047行正確顯示,並且不會顯示19047及以上的所有行。

有沒有人有任何想法可能導致這種情況?或者有什麼想法,我們如何更詳細地確定問題?

+0

順便說一下...行19047在TGrid組件中沒有正確顯示。它只是部分可見。 –

+0

在某些系統中,當嘗試使用滾動條時,我得到無效的浮點操作異常。 –

+0

其工作正常在我的32位Windows XP中 – VibeeshanRC

回答

2

在滾動出現各種問題之後,我得出結論,在滾動組件的過程中存在一個初始化問題,它表現爲惡劣的滾動行爲。有時它會工作,有時它不會...

在想過我多次修復問題後,只有在後續編譯(或不同的操作系統)上再次出現問題時,我才獲得了很多成功在添加所有子組件後調用組件的UpdateStyle方法。即自從添加呼叫以來,問題沒有再次出現...

例如,下面的僞代碼填充一個渦旋部件然後調用UpdateStyle這似乎分力爲「修復」的各種特性,無效的設置 - 最小值,最大值等

for i := 1 to x do 
    MyScrollComponent.AddObject(MyObject[i]); 
MyScrollComponent.UpdateStyle; 

希望這也適用於你...