2017-10-04 16 views
0

내 코드에 사용 된 참조 중 하나는 온도와 같은 필수 기능을 포함하는 Refprop입니다. 디버그 모드에서는 문제가 없지만 VB 외부에서 TR_O_P_Com을 계산할 때 "형식 불일치"오류가 발생합니다.코드는 디버그 모드에서 작동하지만 코드를 실행할 때 "유형 불일치"오류가 발생합니다.

명시 적 옵션

하위 시뮬레이션()

시트 ("Sheet1의") 활성화합니다. 범위 ("A : ZZ") 선택합니다. Selection.ClearContents '

TR_O_P_Com = 온도 ("R134A", "HP", "si", HR_O_P_Com/1000, PR_S_P_C) - 273.15

디버그 모드에서 F8을 사용하면 문제가 없습니다. HR_O_P_Com 및 TR_O_P_Com과 같은 변수를 모두 선언했습니다.

이 오류를 제거하는 데 도움을 주시면 매우 감사드립니다.

감사합니다.

답변

0

exe는 dll과 같으며 exe는 다른 메소드 서명을가집니다. 예를 들어 dll 메서드 A (int a, int b) 및 exe에서는 A (int a, char c)를 호출합니다. 그러나 확실하지 않습니다. 최신 dll을 모두 사용하고 컴파일 한 후에 exe를 실행하고 다시 시도하십시오.

릴리스 모드에서 코드를 컴파일 했습니까? 먼저 vb의 디버그 모드 밖에서 생성 된 exe를 사용하십시오. 그게 잘 작동한다면 방출 모드에서 exe로 시도하십시오.

+0

감사합니다. Abhijit, 몇 가지 계산을 위해 Excel에서 추가 기능을 사용합니다. 나는 VBA에서 모든 계산을하려고 노력하고 있으며, 단지 주요 출력 화면으로 엑셀을 사용하고 또한 엑셀 솔버를 사용하려고합니다. 기본 계산에서 Excel 용으로 refprop 추가 기능이 도입되었으며 VB에서도 동일한 추가 기능이 참조로 사용되었습니다. 나는 엑셀에서 추가 기능을 비활성화했지만 여전히 미스 매칭 오류가 있습니다. Subrotine은 F5를 사용하여 VB에서 작동하거나 F8을 사용하여 디버깅 할 때 Excel에서 서브 로틴을 실행하고 할당 된 버튼을 클릭 할 때 유형 미스 오류가 발생합니다. –