: 안녕하세요... 문보석입니다...
:
: 어떤 프로그램에서 버튼을 눌렀을때 또는 생성자가 실행될때 또 다
:
: 른 프로그램을 실행하려고 execl 또는 system 함수를 써봤습니다..
:
: 하지만 cannot change in onvisible or onhide 어쩌구 저쩌구라
:
: 는 메시지박스가 열라게 좌르륵뜨기만 합니다...
:
: 물론 실행시키려는 프로그램도 윈용이죠...
:
: 이런 문제를 해결하고 한 프로그램에서 버튼을 눌렀을때 또는 생성자
:
: 가 실행될때 또 다른 프로그램을 실행할수 있는 다른 방법이 있는
:
: 지요...
:
: createprocess api도 써봤지만 같은 결과였습니다...
:
: 조언을 부탁드립니다...
:
: 안녕히계세요...
임펠리테리입니다.
문제는 단지, 생성자에서 했기 때문입니다. 기억해두십시오: 폼의 생성자에서는, 내부 변수들을 초기화하고
객체를 생성하는 정도의 작업 이상을 해서는 안됩니다. 이유는 간단합니다. 폼의 생성자는 단지 폼 자체의
객체만 생성된 직후에 호출되는 함수이므로, 폼의 윈도우 핸들도 없고(다시 말해 윈도우 자체가 생성되지
않았음) 어떤 외부적인 작업을 할 수 있는 작업을 할 수 있는 상태가 아닙니다.
외부 프로그램을 실행하는 작업은 OnActivate 핸들러에서 하시기 바랍니다. 잡다한 작업을 시작하기에
가장 적당한 시점이 바로 OnActivate이기 때문입니다.
그럼 참고하시길...
|