|
소켓에서 데이터를 보내거나 받을 때마다 popup창을 띄워서 전송 상태를 보여주는 그런 상황인가요?
자세한 것은 모르겠지만 모달로 띄우면 다음 진행이 안되니 좀 문제가 될 것 같구요..
모달 띄우면서 타이머로 무엇을 하는 것 같은데..이러한 문제는 제 경험상 포인터를
잘못 운영하는 것으로 보입니다. 타이머 이벤트에서 이 화면에 무언가 처리를 할려고 하는데..
화면이 없어진 것이라거나 하는 ...
전송상태를 보여주는 것이라면 모달보다 윈도우를 이미 만들어 넣고 화면을 show/hide 하는 것이
더 낫지 않을까 합니다. 전송받을 때마다 new로 모달 상자를 생성하고 한다면, 포인터가 생성
당시만 유효한 값이므로 전송중이 아닐 대 이 모달 상자의 포인터 값은 의미가 없어지고 혹시
오동작할 수 있는 원인(?)이 될 수도 ....
그냥 잠시 보고..제 생각을 적었습니다.. 성공하시길..
tien 님이 쓰신 글 :
: 타이머를 받아서 계속 TCP, UDP 통신을 하는 간단한 프로그램인데요.
: TNMFTP를 써서 일정시간마다 파일을 받아오고,
: TNMUDP를 써서 다른 호스트들에 정보를 전송해주는 것이 전부거든요.
:
: 정상적으로 잘 도는데, 어느 순간부터 갑자기
: ShowModal() 이 제대로 되지 않아요. 트레이스해보면 다이얼로그의 OnShow까지도 잘 들어가는데
: 거기서 바로 다이얼로그가 닫혀버립니다.
: 트레이스하지 않고 보면, 순간적으로 다이얼로그가 떳다가 사라지는 것처럼 보이네요.
:
: 이런 상태가 되면, 프로그램 종료도 되지 않습니다.
: 최대화,최소화 버튼은 다 먹는데, 종료버튼만 동작하지 않아서
: 할수없이 Ctrl+Alt+Del로 죽여야 합니다.
:
: 대강 추정을 해 보면, TNMFTP에서 에러상황이 몇번 발생하는 시점부터 그런 증상이 생기는것도 같은데요.
: Can't build data connection...이런 메시지 나오는 경우요.
: 첨에 Connect 한번 해 놓고, 일정주기마다 (대략 30초) Download하고 있구요.
:
: 아... 아니네요.
: FTP에서 에러가 발생하지 않았는데도 그러기도 하네요.
:
: 이를 어찌해야 하나요.
: 빌더 초보, 땀나고 있습니다 ㅠㅠ
|