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

C++빌더 Q&A
C++Builder Programming Q&A
[6957] Re:Timer 를 상속받아서..
박지훈.임프 [cbuilder] 2782 읽음    2001-04-23 20:42
임펠리테리입니다.

죄송하지만, TTimer를 상속받아서는 불가능합니다.

TTimer에 있는 OnTimer 이벤트의 타입은 TNotifyEvent 타입으로서, 원래 그렇게 생겨먹은 놈이라 변경이 안됩니다.
대신 새 이벤트를 추가할 수 있습니다만, 기존의 이벤트를 없앨 수는 없습니다.
새로 만들 이벤트는 기존의 TNotifyEvent 와 달라야 하므로, 새로운 이벤트 타입을 만들어야죠.
그런데, TTimer 클래스에서 실제로 win32 루틴을 호출하는 UpdateTimer() 함수(private 함수임)는 기존의 OnTimer가 NULL인가를 검사해서 NULL이면 아예 타이머 구동을 하지 않습니다.

그래서 TTimer를 상속받아서는 안되구요.
TTimer루틴을 그대로 복사해와서 새 컴퍼넌트를 만들어야 합니다. 이때도 역시 새 이벤트를 만들어줘야 하구요.

그럼 참고하시길...


향기 님이 쓰신 글 :
: 새로운 Timer 를 만들려구 합니다 NTimer 라고 하죠...
: 어떻게 만들거냐면 Timer 에다 반복 횟수를 인자로 주면 그때되면 자동으로 사라지게요...
:
: 어떻게 다음과 같이 인자를 넘길 수 있겠습니까 ???
:
: 그럼...
:
:
: void __fastcall TfrmTest::MyTimer1Timer(TObject *Sender, int repeatCounter) 
:                                                                 |
:                                                                  --------> 새로추가된 인자
: {
:
:   Memo1->Lines->Add("My Timer 1");
:  
: }
:

+ -

관련 글 리스트
6912 Timer 를 상속받아서.. 향기 2230 2001/04/19
6957     Re:Timer 를 상속받아서.. 박지훈.임프 2782 2001/04/23
6960         Re:Re:답변감사 드립니다. 향기 2257 2001/04/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.