|
콤포넌트 만들면서 다른 콤포넌트를 연결하기위해 프로퍼티를 만들었습니다.
아래는 TitleControl 프로퍼티이구요.
디자인할때 다른 콤포넌트가 연결되 있는 상태에서
해당 콤포넌트를 삭제해 버리면 씨빌더가 "Abnormal... " 어쩌구 하는 이상한 에러가 뜨면서
먹통이 됩니다. 콤포넌트 클릭도 안되고.. 빌더를 죽였다가 다시 실행 할 수 밖에 없는 상태가 되죠
그래서 VCL소스 뒤져보다가 아래와같은 루틴이 있길래.. 씨빌더로 바꿔서 사용했는데..
맞는지 좀 봐주세요.
void __fastcall MyComponent::Notification(TComponent* AComponent, TOperation Operation)
{
TComponent::Notification(AComponent, Operation);
if(Operation == opRemove)
{
if( AComponent==TitleControl )
TitleControl = NULL;
}
}
처음에 잘되는가 싶더니..
연결된 콤포넌트을 지우면 또 이상하게 되버립니다.
계속 에러만 뜨고.. 머가 문제가 있나요?
물론 연결한 프로퍼티를 먼저 지워주고 콤포넌트를 지우면 아무 문제는 없습니다.
근데. VCL콤포넌트들은 그냥 지워도 아무 에러 없이 잘 돌던데..
확실히 에러 안뜨게 처리할 수있는 방법이 있을까요??
에구~~ 콤포넌트 잘 못 만들면 빌더가 완죠니 먹통이 되니..쩝..
|