공용 VB 컨트롤 라이브러리에 대한 인터페이스 역할을하는 간단한 VB.NET 양식이 있습니다. API 호출의배열의 하위 집합을 VB.NET에서 작동하도록 전달할 수 있습니까?
하나는 UIntegers하는 ByRef 배열한다 : 전화 후
Public Function Get_Values(source_id As Byte, first_value_address As Byte, number_of_values As Byte, ByRef valuesOut As UInteger()) As Integer
을 valuesOut 값의 목록을 개최한다 number_of_values
긴 source_id
에서 first_value_address
에서 시작.
요청 된 길이에 관계없이 반환되는 최대 값 수가 15 인 하드웨어 기반 제한 사항이 있습니다. VB.NET 코드에서 28 개의 값을 배열로 가져와야합니다.
배열 변수의 일부만 다음 C 코드와 유사한 함수로 보낼 수 있습니까?
uint[28] values;
Get_Values(0, 0, 15, values); // Get first part
Get_Values(0, 15, 13, &values[15]); // Get second part of data
ByRef는 라이브러리 함수의 결과입니다. 그것은 실제로 C# 출력 매개 변수입니다. – CodeFusionMobile
@CSharperWithJava : 실제로 'out'은 C# 관련 기능입니다. 일리노이 자체에는 'out'이라는 개념이없고 'ref'만 있습니다. C#은 함수가 모든 반환 경로에서 변수에 값을 할당하는 컴파일 시간을 확인합니다. 그건 제쳐두고,이 대답은 정확해야합니다. –