|
감사합니다.
그럼 기존의 OnRxChar 프로퍼티는 없앨 수 없는 겁니까?
전 이 OnRxChar 프로퍼티는 제가 만드는 VCL내에서만 사용하고 사용자에게는 안보이게 하고 싶거든요.
김상구.패패루 님이 쓰신 글 :
: 빌더의 이벤트는 그냥 프라퍼티입니다.
:
: typedef void __fastcall ( __closure *TMyRxStringEvent)(TObject *Sender, 여기에 필요한 각종 인자들);
: 클래스 내부에선
:
: private:
: TMyRxStringEvent FOnRxString;
: ....
: __published:
: __property TMyRxStringEvent FOnRxString = {read = FOnRxString, write = FOnRxString};
: ....
:
: 이런식으로 하시면 새로운 프라퍼티가 추가됩니다.
: 실제 저 이벤트 콜은
: if (FOnRxString)
: FOnRxString(this, .................);
: 이렇게 해 주시면 되겠죠.
: 그럼 사용자가 OnRxString을 지정한 경우에만 이벤트가 호출됩니다.
: 함수 선언할 때 __closure는 빌더에서만 사용되는 특수한 키워드로 꼭 넣으셔야합니다. 왜 그런지 잘 모르실땐 도움말을 꼼꼼히 읽어보시고 왜 안되는지 곰곰히 고민해 보세요. 분명 한단계 업그레이드됩니다.
:
:
:
: 최상천 님이 쓰신 글 :
: : 사용자 정의 컴포넌트 만들기... 휴!!! 이거 쉽지 않네요.
: : 도스프로그램 하다가 윈도우 프로그램 시작할때 처럼 어렵네요.
: : 개념이 없어서 그런지...
: :
: : CPort 컴포넌트 보면 OnRxChar 이라는 이벤트 프로퍼티가 있잖아요.
: : CPort 컴포넌트를 상속받아서 이걸 내 맘대로 주물러서(Char문자를 통신으로 받아서 어쩌구 저쩌구...) OnRxString 이런 식으로 프로퍼티를 다시 만들고 싶은데
: : 도대체 어떻게 해야 하는지...
: : 컴포넌트 고수님들 좀 알려 주세요.
|