2

Delphi Prism 2010에서 이상한 컴파일러 오류가 발생하여 해결할 수 없습니다. 이 오류는 특수 이미지 형식을 조작하는 타사 어셈블리에 정의 된 개체의 메서드를 호출하고 있습니다. 어셈블리 자체는 .Net 2.0 런타임에 대해 컴파일되었습니다.Delphi Prism이 시스템 유형 불일치에 대해 불만을 제기하는 이유는 무엇입니까?

올바른 매개 변수 목록을 제공 했음에도 불구하고 매개 변수 목록이 잘못되었음을 나타내는 일련의 경고 메시지와 오류가 계속 발생합니다. 또한 VS 2008 IDE는 매개 변수 완성을 수행하지 않지만 프로토 타입을 올바르게 표시하고 Ctrl-Space를 사용하여 메서드를 추가 할 수 있습니다. 이러한 매개 변수

경고 2 (PH2) 베스트 매칭 "이미지와 더 오버로드 방법"GetTempMapOfIRSensor은 "없다

오류 1 (PE19) : 다음은 문제를 설명하는 컴파일러 오류의 축약 버전입니다 .GetTempMapOfIRSensor (var rectOnSensor : System.Drawing.Rectangle; out 평균 : System.Double; out minTempArrayIndex : System.Int32; out maxTempArrayIndex : System.Int32; desiredTempUnits : Image.TEMP_UNIT) : System.Double의 배열이 일치하지 않습니다. 매개 변수 1, 매개 변수 "System.Drawing.Rectangle" "System.Drawing.Rectangle"이어야합니다.

경고 3 (PH2) 가장 일치하는 "Image.GetTempMapOfIRSensor (var rectOnSensor : System.Drawing.Rectangle; 평균 아웃 : System.Double; out minTempArrayIndex : System.Int32; out maxTempArrayIndex : System.Int32; desiredTempUnits : Fluke.Thermography.TEMP_UNIT) : System.Double의 배열이 매개 변수 2와 일치하지 않습니다. 매개 변수는 "System.Double"이 "System.Double"이어야합니다.

.... 유사한 목록 각 나머지 매개 변수에 대한 경고

이상한 부분은 컴파일러가 각 매개 변수에 대해 형식 불일치에 대해 불평하지만 오류 메시지는 매개 변수 형식 이름이 동일하다는 것을 나타냅니다 (예 : 매개 변수가 "System.Double"이어야 함). "System.Double")

이 문제를 해결하고 해결하는 방법에 대한 제안 사항은 언제든지 환영합니다.이 한 가지 방법 이외의 문제의 클래스는 모든 o 그 존경. 또한 동일한 서명으로 로컬 클래스에서 메서드를 만들고 오류없이 호출 할 수 있습니다.

업데이트 :

반사와 같은 매개 변수 목록을 사용하여 메소드를 호출이 제대로 작동합니다. 이것은 어떤 종류의 컴파일러 버그/한계가되고 있습니다.

답변

1

이 라이브러리에 var/out이 아닌 변수 (예 : &)의 나머지 또는 동일한 매개 변수에 대해 과부하가있는 경우 암시 적 출력/var 매개 변수의 옵션을 해제하고 & var을 해당 위치에 추가하십시오 필요합니다. 그것은 수정해야합니다. 그렇지 않으면 QC 항목이 버그 일 경우 일반적으로 매우 빠르게 수정됩니다.

관련 문제