|
임프랍니다.
당연한 것입니다. 김상우님께서는 지금 타이머와 트랙바를 동기화하려고 하신 것인데, 두개 컴퍼넌트가
각각 따로 동작하므로 그런 문제가 생깁니다.
비슷한 예로, 트랙바와 스핀에디트 컴퍼넌트를 연결했을 때를 들 수 있겠습니다. 트랙바의 OnChange
이벤트에서는 스핀에디트의 Value를 변경하고, 거꾸로 스핀에디트에서는 트랙바를 변경하려고 하는 경우,
이벤트 핸들러들이 서로 호출하면서 값이 이상하게 튀어버립니다.
막는 방법은, 둘중의 한 이벤트 핸들러에서 값을 세팅해주고, 다른 이벤트핸들러에서는 그 값을 체크해서
다른 이벤트 핸들러에 의해 실행되는 것을 막는 것입니다. 무식해 보일지도 모르겠습니다만 유일한 방법이죠.
그럼 이만...
김상우 님이 쓰신 글 :
:
: 제가 TTrackBar로 TMediaPlayer를 제어및 상태표시를 할려구 합니다.
:
: 타이머 사용해서 1초간격으로 TTrackBar->Position을 세팅하는걸로 현재
:
: 플레이되고 있는 위치를 추적하여서 가고 있는건 되는데,
:
: 임의 포지션으로 움직여서 그곳부터 플레이하기 위해서
:
: TTrackBar의 EventHandler에 TMediaPlayer->Position을 세팅하는 코드를 삽입할려고 하는데
:
: 마땅한 핸들러가 없어요....
:
: OnChange핸들러 인것 같았는데 이것은 딴놈이 자기 Position세팅할때도 뜨더라고요.
:
: 그래서 여기다간 못 넣겠고, 나머지 Drag... 등은 Event뜨지도 않고. 어떻게 해야죠?
|