객체는 Active되어 있는 폼 자기자신을 뜻하는 것이
아닐까여?
C++에서 보면, *this라는 것이 있는데
이것은 지금 참조되는 자신의 클래스를 뜻하는 것입니다..
델파이에서 이것과 대비되는 것이 아닐까 생각합니다..
폼도 클래스이니 말입니다..
Application은 실행객체이므로,
현재 실행되고 있는 모든 객체들에 대한 부모정도로 생각하면
될 것 같구..
뭐 이정도입니다..
hsr//////////////////////////////////////////////////////////
정확히 설명하기엔...사용방법 위주로, 생각나는데로 적어봅니다.
self는 객체클래스의 값(value)입니다,
폼이나 객체들의 Class가 아니라 Class형 변수정도로생각하시면됩니다.
사용시 Sender는 호출하는자구요 self는 호출되는 자신정도로...
설명이 좀 안되네요.
위에서 var Self: TForm1의 의미는
Self == Form1 즉 Self <> TForm1
Self := nil; 는 Form1 := nil; 입니다
그러나 Self는 사용하기에 따라 폼크래스핸들(변수)도 되지만
각 객체글래스TObject의 핸들(변수)도 될수있으면 인자외에
사용하시는것을 지양해야합니다.
Self는 무었입니까? Ctrl+Space 해보면 var Self: TForm1 이렇게 나옵니다. 그렇다면 Self는 FormClass입니까? 저는 폼이 Close될때 Self := nil; 이런 문장을 사용합니다. 그런데 에러는 나지 않습니다. TForm1 := nil; 이런 문장은 에러...
이준해
•
2002.04.12 00:18
self = 자기 자신
폼 안에서 작업할 때 Self 는 TForm1 이라는 class 의 인스턴스 를 말합니다.
(실...
김경록
•
2002.04.11 19:56
객체는 Active되어 있는 폼 자기자신을 뜻하는 것이
아닐까여?
C++에서 보면, *this라는 것이 있는데
이...
홍성락
•
2002.04.10 06:42
hsr//////////////////////////////////////////////////////////
정확히 설명하기엔...사용방법 위주로...
self = 자기 자신
폼 안에서 작업할 때 Self 는 TForm1 이라는 class 의 인스턴스 를 말합니다.
(실제 메모리에 로드된 폼 : 통상 눈에 보이고 키입력 받고..
마우스 입력 받는... 폼)
그 인스턴스가 TForm1 은 아닙니다.
TForm1 은 그 인스턴스를 찍어내는 형틀이죠..
그럼 폼위에 올라간 버튼 ??
Button1: TButton 이라고 가정해 보죠..
TForm1 이라는 폼은 동시에 여러개가 만들어 질 수 있겠죠 ?
예를 들어 MDI 폼에서는 동일한 폼이 여러개 생기는게 일반적이죠
그럼 그 각 폼을 f1, f2, f3... 라고 해 보죠..
그 각 폼은 안에 Button1 을 가지고 있을 겁니다.
f1 에 있는 Button1 을 참조하려면.. 어케 해야 하나여 ??
1. f1 입장에서는 내 안에 있는 버튼이니깐 이렇게 부릅니다.
self.button1.....
2. f2 입장에서는 자기 안에 있는 버튼은..
역시 self.button1....
그럼 모야 다 self 네...
그럼 f1 에서 f2 에 있는 Button1 을 부르려면 ??
1. f1 에서 f2 의 Button1 을 부르려면 ?
f2.Button1... 이렇게 부른답니다.
사람으로 생각해 보세여..
(내 코에 뭐 묻었냐 ? 내가 내 신체를 지칭할 때.. 내 코, 내 손..)
(영희 코에 코딱지 있다.. 다른 사람의 신체를 지칭할땐..
영희 코, 준해 코.. 라고 하져
즉 앞에 이름이 붙는 거죠.)
역시 객체도 다 이름이 있을 수도 있고..
없다면 아무개... 모 이런식일 수 있고.. 어쨌건 하나를
찍어낼 수 있는데..
그때 그 찍은 넘을 부르는 변수 중에
self 도 한가지입니다.
2. 거꾸로 f2 에서 f3 에 있는 Button1 을 부르려면.. ??
f3.button1.click.. 이렇게 되겠죠 ??
(객체 지칭자).(객체 멤버)... 이런 식이죠..
결론.. self 는 객체가 자기 자신을 참조할 때 사용하는 말이다.
도움이 되길 바랍니다.
이준해