보통 Sender는 자기자신(?)을 나타냅니다..
Button의 OnClick Event 같은 경우,
버튼이 눌렸을때 이벤트가 발생하므로
여기서의 Sender는 Button이 되야 합니다..
다음 FAQ를 참고세요..
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_faq&no=15
참고로, 이벤트 핸들러 내에서 Sender를 사용하지 않는다면
호출할때 NULL로 호출해도 상광없습니다.
즉, AniRotary->OnClick(NULL); 해도 됩니다..
호출할때도 버튼의 OnClick 이벤트를 호출하지 않고 직접 호출해도 됩니다..
즉, AniRotary->OnClick(AniRotary); 대신에
AniButtonClick(AniRotary) 호출해도 되구여..
그럼, 즐프하세요..
강영준 님이 쓰신 글 :
: void __fastcall TForm1::AniButtonClick(TObject *Sender)
: {
: TRxGIFAnimator *MyAnimator = (TRxGIFAnimator *) Sender;
:
: if(!MyAnimator->Animate) MyAnimator->Animate = true;
: else {
: MyAnimator->Animate = false;
: MyAnimator->FrameIndex = 0;
: }
: }
: //------------------------------------------------------------
: void __fastcall TForm1::Button3Click(TObject *Sender)
: {
: AniRotary->OnClick(this);
: }
:
: RxLibrary를 사용했구요. RxGIFAnimator 컴포넌트를 사용했습니다.
:
: 근데. button을 클릭하면 에러가 나드군요.. 잘못된 메모리를 참조 했다는 식의..
:
: 근데..
:
: void __fastcall TForm1::AniRotaryClick(TObject *Sender)
: {
: if(!AniRotary->Animate) AniRotary->Animate = true;
: else {
: AniRotary->Animate = false;
: AniRotary->FrameIndex = 0;
: }
: }
:
: 이렇게 되어 있으면 잘 동작을 하드라구요...
:
: 이유를 좀 가르쳐 주세요. 그리고 위에꺼 처럼 할려면..
:
: 어떻게 해야 되는지 .. 알려주세요..