콤보박스 item에 DB에서 Select해온 자료를 넣어주는데 폼이 Create해줄때 넣으니까 너무 큰 자료에서 가져오는지 폼이 뜨는 시간이 좀 늦습니다.
제가알기론 폼이 생성될 때 이벤트 순서가
Create -> Show -> ReSize -> Activate -> Paint인 것으로 아는데요
이 다섯가지 이벤트에 각각 코딩을 해도 폼이 완전히 그려지고 난 뒤에 db의 자료를 불러다가 콤보박스의 item에 넣어주는 작업을 하는건 아니더군요
폼이 새로 뜰 때 폼이 완전히 그려지고 난뒤에 db의 자료를 불러다가 콤보박스의 item에 넣어주는 작업을 하려면 어떻게 하면 될까요?
OnActivate 이벤트를 사용하시면 됩니다..
다른 방법으로는 Query를 실행할 때 thread를 사용하는 것 입니다..
마지막으로 가장 단순무식한 방법은..
TTimer 콤포넌트를 이용해서 200 ms 정도 후에 실행하게 하는 것 입니다..
가장 좋은 방법은 OnActivate를 사용하는 것이라 생각되고..
Show 메소드를 사용하실 때는.. 이벤트가 여러번 발생하는 점을 유의하세요..
From 류..
강혜승 wrote:
> 콤보박스 item에 DB에서 Select해온 자료를 넣어주는데 폼이 Create해줄때 넣으니까 너무 큰 자료에서 가져오는지 폼이 뜨는 시간이 좀 늦습니다.
> 제가알기론 폼이 생성될 때 이벤트 순서가
> Create -> Show -> ReSize -> Activate -> Paint인 것으로 아는데요
> 이 다섯가지 이벤트에 각각 코딩을 해도 폼이 완전히 그려지고 난 뒤에 db의 자료를 불러다가 콤보박스의 item에 넣어주는 작업을 하는건 아니더군요
>
> 폼이 새로 뜰 때 폼이 완전히 그려지고 난뒤에 db의 자료를 불러다가 콤보박스의 item에 넣어주는 작업을 하려면 어떻게 하면 될까요?