|
김성규 입니다.
: Form2->run();
: for (int i;i<10;i++)
: {
이 코드에서 Form2->run(); 의 실행이 종료되기 전에는 절대 for 문이 수행될 수 없습니다.
이것은 윈도우 시스템에서 각 프로세스에 기본적으로 하나의 수행 스레드만을 주기 때문입니다.
Be 같은 운영체제는 특별히 신경쓰지 않아도 알아서 쓰레드를 나누어 수행시켜 주지만 윈도우는
그렇지 않기 때문에 run() 함수내에서 별도로 스레드를 생성하지 않는 이상 절대 동시 수행이
일어날 수 없습니다.
이번처럼 Form1에서 호출하지 않고 Form2에서 호출되었을 수도 있습니다.
확인해 보세요.
라모드 님이 쓰신 글 :
: BCB를 새롭게 배워나가려고 하니.. 궁금한게 너무 많네요..
: 만일 Form1에서 Form2에 정의된 실행함수를 불러다 실행하는데 함수의 처리가 완전히 끝나고 나서 다음으로 넘어가게 만들려고합니다 어떻게 해야하나요?
:
: Form2 에는 다음과 같은 함수가 있다고 하고..
:
: void __fastcall run()
: {
: ....
: }
:
: Form1에서 다음과 같이 불러다 쓸때
: ...
: ...
: ...
: Form2->run();
: for (int i;i<10;i++)
: {
: ...
: ...
: ...
:
: Form2->run() 이 완전히 실행을 마치고 나서
: 다음명령어로 넘어가는 방법은 없나요?
: 실행보면 Form2->run()을 실행하는 동시에 Form1
: 의 다음명령어도 실행되는것 같던데요..
:
: 고수님들의 답변부탁드립니다.
:
|