2016-10-28 7 views
-1

나는 후손을 TDBGrid으로 만들고 있습니다. 유닛 DBGrids의 구현 부분에서 선언 되었기 때문에 유형 변수 TDBGridInplaceEditor을 어떻게 선언 할 수 있습니까?다른 장치의 구현 섹션에서 선언 된 개체 유형을 사용합니까?

+0

장치의 전체 복사본을 만드십시오. 귀하의 이전 질문은 이미이 사실을 암시해야합니다. –

+0

이전 질문에 대한 의견을 읽은 경우, 제안 사항을 자세히 검토하고 테스트 한 결과 클래스 및 유닛 의존성으로 인해 막 다른 골목으로 이어질 수 있습니다. – DrWael

+0

나는 컨트롤의 자신 만의 버전을 만드는 것을 의미합니다. 단순히 단위를 복사하는 것은 첫 번째 단계 일뿐입니다. 이 컨트롤의 동작을 원하는대로 수정하려면 다른 옵션으로 이동하여 타사 컨트롤을 찾아야합니다. –

답변

1

유형 DBGrids의 구현 부분에서 선언 된 TDBGridInplaceEditor 유형의 변수를 어떻게 선언 할 수 있습니까?

수 없습니다. 코멘트에서

는 말 :

그 결정은 확장 인플레 이스 에디터 사실이 아니다

을 인스턴스화 TDBGrid의 서브 클래스를 방지 할 수 있습니다. 그리드에서 CreateEditor으로 전화하여 TDBGridInplaceEdit의 인스턴스를 얻을 수 있습니다.

+0

하지만 이미했는데 [컴파일러 오류 Undeclare identifire : 'TDBGridInplaceEdit']입니다.하지만 당연히 DBGrids를 사용합니다. 무엇을 TDBGridInplaceEdit 선언을 검색하여 구현 부분에 있음을 알았습니까? – DrWael

+1

'CreateEditor '에 의해 반환 된 컴파일 시간 유형은'TInplaceEdit'이지만 리턴 된 실제 인스턴스는 유형을가집니다. 'TDBGridInplaceEdit'. 변수를'TInplaceEdit' 타입으로 선언하면 코드가 컴파일됩니다. 실제 인스턴스는'TDBGridInplaceEdit'으로 동작합니다. 그 이유는 무엇입니까 –

+0

질문에 대답하는 것은 충분히 쉽습니다. 문제 해결에 도움을 줄 수있는 것이라면 도움이 될 것입니다. 실제 문제가 무엇인지 알려주지 않는 이유는 무엇입니까? –