위에 있는 uses는 주로 델파이에서 제공하는, 윈도우를 띄우고 동작하
는데 필요한 기본 유닛들이 이곳에 추가됩니다..
컴포넌트를 올려 놓으면 필요한 유닛들이 이곳에 추가되죠..
그리고 밑에 있는 유닛들은 주로 사용자가 작성한 유닛들이 이곳에 추
가되지요.. 예를 들어 2개 이상의 폼을 사용하는 경우 한 폼의 유닛에
서 다른 폼 인스턴스의 메쏘드나 프로퍼티를 억세스하는 경우 델파이가
메시지를 띄우며 알아서 이곳에 추가를 해주죠..
저 같은 경우는 제가 작성한 모든 유닛을 이곳에 추가하고 있지요..
아무런 상관이 없습니다.. 윗쪽에 모두 몰아 두셔도 됩니다..
파스칼 문법상 uses는 몇번이고 나와도 상관이 없지요..
변수의 scope는 global, local로 구분이 되겠지요..
클래스는 scope가 없다고 봐야겠지요.. 즉 객체로 선언되지 않으면 (다
시 말해 변수 선언) 클래스는 단지 컴파일시 컴파일러에게 정보를 제공
하는 정도의 역할밖에 하지 않는게 아닐까요 ??
Form1 : TForm ;
이렇게 변수선언이 되어서야 메모리에 잡힐 것이고..
Global(전역)변수이면 힙이란 공간에 잡혀 프로그램이 종료될 때까지
살아 있을 것이고요..
Local(지역)변수이면 스택이란 공간에 잡혀 프로시져나 함수호출시에만
유효하고, 종료되면 사라지겠죠..
클래스나 변수선언이 한 유닛정의가 되어 있고, 다른 유닛에서 이를 참
조하려면 컴파일러에게 이놈의 클래스나 변수가 도체 어떤 놈인가 하는
정보를 주어야 하는데..
바로 uses를 사용하여 이놈의 정보가 바로 이 유닛안에 있다 하고 알려
주는 것이지요..
기람..
미친병아리 서비였네용.. 삐약~ !!
[번 호] 1362 / 1362 [등록일] 98년 02월 14일 10:33
[등록자] YOONHO
[제 목] [질문] Uses구의 범위 (Scope)
─────────────────────────────────
안녕하세요..
밑에도 질문이 있는데..
Uses구가 unit 바로 밑에 거와 임플리멘테이션 밑에 있는 Uses구와
차이점이 뭐인지.. 그리고 변수,Class의 Scope를 알고 싶은데요..
|