tlibimp.exe (버전 11.0)를 사용하여 타사 .NET 유형 라이브러리 (COM 서버 DLL)를 가져 오려고합니다. 이것은 기본적으로 잘 작동하지만 다른 컴퓨터에서 실행하면 결과가 달라집니다. 하나는 Windows XP를 실행하고 다른 하나는 Windows 7입니다. 더 나쁜 것은 Win7 시스템에서 생성 된 코드가 컴파일되지 않습니다.tlibimp.exe 출력이 다른 OS에서 다릅니다
두 시스템이 있습니다
- 볼랜드 C++ (RAD 스튜디오) 지금까지의 내가 2007 볼랜드을 말할 수있는 11.0
- 같은 .NET 프레임 워크 버전이 설치된 2007
- tlibimp.exe 버전 (사용 .NET v2를)
- bcc32.exe 버전 5.93
:
Parameter mismatch in write access specifier of property Font
(확인 컴파일) XP의 시스템에서 코드의 해당 줄은 다음과 같습니다
는__property Graphics::TFont * Font={ read=GetTFontProp, write=_SetTFontProp, stored=false, index=-512 };
(실패)가 Win7에 시스템에서 같은 라인은 다음과 같습니다
__property IFontDisp* Font={ read=get_Font, write=set_Font, stored=false };
지금 나는이 차이점이 어디에서 유래하는지 정말로 모른다. 어떤 아이디어?
환호 헨드릭
.net COM 서버가 어떻게 VCL'Graphics :: TFont'을 내보낼 수 있습니까? –
실마리가 없지만 작동하는 것 같습니다. 어쩌면 볼랜드의 컴포넌트 래퍼 마술일까요? – Hendrik
나는 한 줄뿐 아니라 문제의 두 버전 사이에 큰 차이가 있다는 것을 덧붙여 야합니다. 시작을 위해 WinXP 버전은 TOleControl에서 상속 받았으며 Oleserver에서 Win7 : TOleServer – Hendrik