2009-07-21 7 views
1

클래스 맨 위에 UserControl private 형식의 변수가 있습니다.VB6 UserControl에 대한 참조

일부 조건에 따라 내 두 UserControl 중 하나가 표시됩니다. 문제는 보이는 UserControl에 대한 UserControl 유형의 전역 개인 변수를 나중에 사용하기 위해 참조가 있도록 설정하려고했기 때문입니다. 나는 항상 Error Type Mismatch가있다.

Private mo_SelectedControl As UserControl 
'... 
'...Some where in a Sub: 
set SelectedControl = myUserControl 

나는 myUserControl.object로 시도했지만 둘 다 작동하지 않습니다. 어떤 생각?

답변

3

변수를 UserControl 대신 Control 유형으로 선언 해보십시오.

+0

개체를 사용할 수도 있습니다. ;) – AnthonyWJones

0

정보에 대한 것만으로 UserControl은 매우 혼란 스럽습니다. UserControl은 VB 코드 (컨트롤 내부)가 배치 된 사이트와 상호 작용하는 데 사용하는 인터페이스입니다.

UserControl 인터페이스는 UserControl 키워드를 통해 액세스 할 수 있습니다. 이 인터페이스는 최종 구현에 의해 상속되지 않으므로 컨트롤의 실제 노출 된 공용 인터페이스는 사용자가 공개하기로 선택한 모든 것으로 만 구성됩니다.

컨트롤의 인스턴스를 Form에 추가 할 때 VB에서 만든 실제 개체는 컨트롤을 배치하는 데 사용되는 개체 (예 : Left 및 Top 속성을 전달하는 개체)의 COM 집계 및 공용 부분 사용자 정의 컨트롤의. 안타깝게도 공통적으로 많은 구성원을 공유하지만 실제로 집계 된 인터페이스는 UserControl이 아닙니다.

그러므로 UserControl 유형의 변수에는 "UserControl"인스턴스를 할당 할 수 없습니다. 나는 누군가 어딘가에 그 공을 떨어 뜨렸다 고 생각한다.

관련 문제