|
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
"쓰레드 코드 시작"
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
"쓰레드 코드 시작"
TForm1 *Form1;
위에서 TForm1 *Form1의 위치에 따라서 다른 결과가 나왔습니다.
빌더 1에서는 두가지 경우 모두 잘 동작해주었지만
빌더 6에서는 첫번째 경우는 잘동작하였는데 2번째 경우는
Unit1 헤더에 선언한 변수를 쓰레드 안에서 바꾸도록 해놓았지만 바뀌고 나서도
Form1에서 바뀐다음의 변수값을 제대로 읽지 못했으며
또 Panel1의 Caption에 값을 바꾸려고 하자 바로 엑세스 바이올레이션 어쩌구 저쩌구하는
에러 메세지가 나왔습니다.
왜 빌더 1에서는 두가지 코드 모두 사용가능한데 6에서는 왜 어설픈 실행이 되는걸까요?
|