2011-09-20 5 views
39

Firemonkey의 ScrollBox 구성 요소에 이상한 버그가있는 것 같습니다 (TGrid에서 상속 받음). TScrollBox에서 상속되며 모든 그리드에도 영향을줍니다. 우리 개발 기계의 일부에서는 모든 것이 잘 작동하는 반면에 다른 것들은 버그가 발생합니다. 시스템 간의 패턴을 감지하지 못했습니다 (우리는 OS, 그래픽 하드웨어, DirectX 버전을 확인했습니다).Firemonkey ScrollBox 버그

복제 :

  1. 새로운 FireMonkey 응용 프로그램을 만듭니다. 양식에 TScrollBox을 입력하십시오.
  2. scrollBox에 버튼을 추가하고 수직 위치를 500000으로 설정합니다.
  3. 응용 프로그램을 시작하고 스크롤 상자의 끝까지 스크롤 할 때 버튼이 표시되는지 확인합니다.

버그가 발생하면 단추가 표시되지 않습니다.

그리드를 사용하면 1-19047 행이 올바르게 표시되고 19047 이상의 모든 행은 표시되지 않습니다.

누군가이 문제의 원인이 될 수있는 사람이 있습니까? 또는 우리가 어떻게 문제를 더 상세하게 식별 할 수 있는지 생각해보십시오.

+0

그건 그렇고 ... 라인 19047 TGrid 구성 요소에서 올바르게 표시되지 않습니다. 부분적으로 만 볼 수 있습니다. –

+0

일부 시스템에서는 스크롤바를 사용하려고 할 때 잘못된 부동 소수점 연산 예외가 발생합니다. –

+0

내 32 비트 Windows xp – VibeeshanRC

답변

2

모든 종류의 스크롤링 문제를 겪은 후, 나는 불길한 스크롤 동작을 나타내는 firemonkey의 스크롤링 구성 요소에 초기화 문제가 있다는 결론을 얻었습니다. 때로는 작동하고 때로는 작동하지 않을 수도 있습니다 ...

문제가 여러 번 수정되었다고 생각한 후에 문제가 후속 컴파일 (또는 다른 OS)에서 다시 나타나기 만하면 나는 많은 성공을 거뒀습니다. 모든 하위 구성 요소를 추가 한 후 구성 요소의 UpdateStyle 메서드를 호출합니다. 나는. 문제는 전화를 추가 한 이후 재 등장하지 않았습니다 ...

예. ...

이 너무 당신을 위해 작동 최소, 최대 등

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

희망 - 다음 의사 코드로 구성 요소를 강제로 보인다 다음 UpdateStyle 호출 스크롤 구성 요소는 다양한 속성에 대한 잘못된 설정을 '수정'웁니다