Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[6893] [답변] DASHFORM/ 글이 좀 깁니다 꼭 끝까지 좀 읽어 주
착한나무 [ ] 731 읽음    1999-12-17 01:40

   안녕하세요..
   우선 책을 먼저 소개해 드리자면..
   Delphi 3 개발자 핸드북이라구요.. 삼각형에서 나온 녹색 책이 있습니다..
   좀 오래된 거지만 거기에 잘 나온것 같아요..

   우선 컴포넌트 해제에 관해 잘 해결이 되었다니 다행이군요..
   근데 제 생각은 부모를 가지고 있으면서 해제될때..
   부모에게 알린다라고 했는데..
   제가 이야기한 책 286~300을 참조해 보면..

   1. Notification   -> (override)
   2. FreeNotification   -> (참조시 호출)

   위의 두 함수를 이용하면 될 것 같더군요..
   1번 함수는 컴포넌트가 삽입되거나 삭제될때.. 모든 컴포넌트에 1번 함수가
   호출 됩니다..
   거기선 내가 혹시 참조하는 컴포넌트가 해제(Destroy)되는가 검사하구선
   만약 해당하는 컴포넌트라면 참조하는 변수를 초기화 시켜주는 루틴이
   들어가게 됩니다.
   (개발자가 작성해야 하는데.. 거의 일괄적이라.. 책보고 하면 쉬움..)

   2번 함수는 컴포넌트가 다른 컴포넌트를 참조할 때 멤버(포인터/클래스)변수에
   참조될 컴포넌트를 대입하게 됩니다..
   보통   Setxxxx (acomponent: TComponet)... 이런 식이죠..
   (그렇지 않을 수도 있구요..)
   그럼 그 함수 내에서 대입을 한 뒤 참조될 컴포넌트의 2번 함수를 호출합니다..
   (대입하구 나서 TComponent 차원에서 지원되는 2번 함수를 호출함)
   그러면 참조된 컴포넌트가 해제(Destroy) 될때.. (미리 부모 컴포넌트를 지정하지
   않아도) TComponent 클래스 차원에서 참조 하고 있는 컴포넌트에
   1번 함수를 자동으로 호출을 하게 됩니다..

   이것은 참조될 컴포넌트가 다른 폼에 있거나 할 때 참조하는 컴포넌트가
   더이상 자신을 참조하지 말 것을 알리는 일에 불과 합니다..
   만약 참조될 컴포넌트는 사라졌는데 참조하는 컴포넌트가 참조할려 하면
   '뻑' 에러를 내겠죠.. ^^

   ..라고 설명을 하고 있습니다..
   전 TField 나 TDataLink 를 안 써봐서 잘 모르지만 그 책에서는
   그 책 17장에서 설명하는 데이터 인식 컴포넌트가 종종 그렇게 한다구 하는군요..


   제 친구중 비베 잘하는 친구가 있어 예전에 좋은생각님이 올린 질문을 했었죠..
   OCX 끼리 연동(참조) 하려면 무엇이 필요하냐구요..
   근데.. 디자인타임 라이브러리 (DLL)이라는 것이 있어서 그것을 호출하면..
   폼의 내용을 일괄적으로 가져오는 무엇인가가 있다고 설명을 하는데..
   전 잘 못알아 듣겠더군요.. 만나서 이야기 하던지 해야지.. ^^

   왜 알아 봤냐면 제가 예전에 하다가 같은 곳에서 막혀서 그만둔 적이 있어서..
   한 번 해결해 볼려구 몇가지 참조해 봤는데..
   해결책은 아니구 아마 이것이 아닐까 하는 생각에서 몇자 더 적습니다..
   비앤씨에서 나온  [ ActiveX 와 OLE - David Chappell ] 에 248p 부터보면..
   특히 255 쪽을 보면..

   콘트롤과 콘트롤 컨테이너용 인터페이스를 다루는 부분이 있습니다..
   아마 컨테이너용 인터페이스가 [폼]의 인터페이스의 일부분이 아닐까
   하는 생각이 듭니다..
   인터페이스와 간략한 설명만으로는 어떻게 해 보질 못하겠군요..
   제 생각엔 아마 델에서도 지원할 것 같은데.. 어떤게 어떤건지 잘.. ^^

   이만.. 도움이 되셨는지 모르겠네요..
   그럼..


+ -

관련 글 리스트
6893 [답변] DASHFORM/ 글이 좀 깁니다 꼭 끝까지 좀 읽어 주 착한나무 731 1999/12/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.