안녕하세요. (주) 천의무봉의 이용민입니다.
1. 변수를 초기화 해야하는 이유가 뭔지요 ?
프로그램 서적에 보면 변수 초기화를 반드시 해야한다고 되어 있고 델파이내에서 초기화가 안된 경우에는 컴파일시 아래부분에 hint 형태로 메시지가 나오는데 실행에는 전혀 지장이 없거든요.
그럼 이 변수 초기화를 하지 않고 프로그램을 사용하게 되면 과연 어떤 문제가 발생될 수 있는 겁니까 ?
2. 참조하는 변수에 관한 궁금증.
A unit 을 B unit 와 C unit 에서 참조하는 경우,
A unit 의 변수를 B unit 에서 사용할 수 있는데 이런 의문이 생기는 군요.
A unit 은 실제 메모리에 올라와 있지 않은 상태에서 어떻게 A unit 의 변수를 이용할 수가 있는지 ?
그리고 이렇게 사용하는 변수는 언제 메모리 해제가 되는지 ?
B unit 이 close 될 때 자동으로 메모리 해제가 된다면 C unit 의 경우에는 ....
고수의 조언을 기다리겠습니다.
> 안녕하세요. (주) 천의무봉의 이용민입니다.
>
> 1. 변수를 초기화 해야하는 이유가 뭔지요 ?
>
> 프로그램 서적에 보면 변수 초기화를 반드시 해야한다고 되어 있고 델파이내에서 초기화가 안된 경우에는 컴파일시 아래부분에 hint 형태로 메시지가 나오는데 실행에는 전혀 지장이 없거든요.
> 그럼 이 변수 초기화를 하지 않고 프로그램을 사용하게 되면 과연 어떤 문제가 발생될 수 있는 겁니까 ?
혹시 변수자체에 쓰레기 값이 들어가서 원하지 않는 결과를 가져올 수도 있습니다.
>
> 2. 참조하는 변수에 관한 궁금증.
> A unit 을 B unit 와 C unit 에서 참조하는 경우,
> A unit 의 변수를 B unit 에서 사용할 수 있는데 이런 의문이 생기는 군요.
> A unit 은 실제 메모리에 올라와 있지 않은 상태에서 어떻게 A unit 의 변수를 이용할 수가 있는지 ?
> 그리고 이렇게 사용하는 변수는 언제 메모리 해제가 되는지 ?
> B unit 이 close 될 때 자동으로 메모리 해제가 된다면 C unit 의 경우에는 ....
>
> 고수의 조언을 기다리겠습니다.
A unit이 메모리에 올라와 있지 않은 상태가 아니라 올라가 있는 상태입니다.
A unit에 객체를 선언해서 객체의 Public안에 변수를 선언했다면 그 객체를 생성해야지만 쓸 수 있지만 전역변수인 경우에는 객체생성같은것이 필요없습니다.
이미 참조하라고 하는 순간부터 A Unit의 내용은 같이 떠 있는것입니다.
물론 프로그램이 닫힐때 같이 해제가 됩니다.