Form Create나 QuickReport의 폼을 Create할때에... 1... form := Tform.create(self); 2... form := Tform.create(application); 3... form := Tform.create(nil); 위의 1,2,3번의 폼생성 방식의 차임점 좀 가르켜 주세요..... 어떤경우...
최용일
•
2000.06.02 23:45
안녕하세요. 최용일입니다.
Handle하곤 아무 상관이 없습니다. 아래 답변에서 혼동하지 마시길....
A...
타락천사
•
2000.06.02 22:13
안녕하세여.. 타락임다..^^
궁금하다니...
1. 먼저 Self는 함수가 포함된 클래스의 핸들입니다..
...
Handle하곤 아무 상관이 없습니다. 아래 답변에서 혼동하지 마시길....
Application은 전역 TApplication객체이고, Self는 코드가 구현된 클래스 자체를 가리킵니다.
Self, Application, nil의 차이점은 단지 소유주(Owner)가 누구냐일 뿐입니다. 소유주는
그 객체를 메모리에서 해제할 책임이 있는 객체입니다. 즉, 소유주가 닫히면 소유주가
가지고 있는 모든 서브객체도 닫히고 메모리에서 해제됩니다. 보통 Self를 많이 씁니다.
메인폼의 서브폼이나 다이얼로그를 만들때 많이 쓰고요, Application은 다이얼로그나
메인폼과 동등한 레벨의 폼을 만들때 많이 쓰입니다. 특별히 이런 경우는 이렇게 쓴다는
구분은 없습니다. 알아서 잘 사용하세요. 특히 소유주를 nil로 할땐 주의를 해야 합니다.
이 경우는 소유주가 없기 때문에 반드시 사용자가 코딩으로 Free를 해주어야 합니다. 그렇지
않으면 메모리 누수가 발생합니다.
^^ 항상 즐코하세요.
도와주세요 wrote:
> Form Create나 QuickReport의 폼을 Create할때에...
>
> 1... form := Tform.create(self);
> 2... form := Tform.create(application);
> 3... form := Tform.create(nil);
>
> 위의 1,2,3번의 폼생성 방식의 차임점 좀 가르켜 주세요.....
> 어떤경우에 self, application, nil Keyword를 쓰는건지 궁금해요..??
>
>
>
>