2010-01-12 3 views
4

2010 이전의 Delphi 버전에는 Delphi 환경에서 "모든 v-table 인터페이스"를 설정할 수있는 옵션이있었습니다. 형식 라이브러리를 가져올 때 호출 규칙이 변경됩니다. 2010 년에는 옵션이 사라졌습니다. safecall 호출 규칙을 사용하여 유형 라이브러리를 가져 오는 방법은 무엇입니까? 이전 버전보다 2010 년에 좀 더 세분화 된 수준의 제어가 가능할 것으로 기대되지만, 지금은 어떻게해야합니까?Delphi 2010에서 safelall 대 stdcall로 TypeLib을 가져 오는 방법

감사합니다.

+0

당신은 새로운 TLB의 수입에서 버그를 발견 할 수 있습니다. –

답변

3

Delphi 2010 IDE에서 "모든 v-table 인터페이스"옵션을 사용하지 않았습니다. 그것은 D2009에서 확실히 부러졌습니다.

당신은 _tlb.pas을 만들기 위해 명령 줄 tlibimp 도구를 사용할 수 있습니다 당신이 필요로하는 파일 :

tlibimp -P -Pt <tlb file> 
+0

tlibimp에 대한 도움말 정보에 잘못 매개 변수가 -Pt-로 표시되어 있음을 알게되었습니다. -Pt 또는 -Pt + 여야합니다. –

+0

도움말 정보가 각 옵션에 대한 기본 설정을 보여주고 있다는 것을 알려주지 않습니다. -Pt- 도움말에서 "모든 HRESULT를 safecall에 매핑하십시오"라는 메시지가 기본적으로 표시되지 않습니다. - 나는 이뿐 아니라 :-( –

0

생성 된 결과 .ridl 파일을 보면 메서드에 _stdcall이 정의되어있는 것을 볼 수 있습니다.

.ridl 파일을 사용하면 더 세밀한 제어가 가능합니다.

+0

이러한 유형 라이브러리는 * 다른 * 응용 프로그램에서 제공됩니다. 나는 그들을위한 .ridl 파일이 없다. 나는 도서관을 수입 *하고있다. 시도해 주셔서 고맙습니다. – Steven

관련 문제