0
我有這樣的Java測試如何獲得一個java JNA調用到DLL以獲取參數中返回的數據?
package ftct;
import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Platform;
import com.sun.jna.win32.StdCallLibrary;
import java.util.Date;
public class LibFTCT {
public LibFTCT() {
}
public interface LibFTCTLib extends StdCallLibrary {
LibFTCTLib INSTANCE = (LibFTCTLib) Native.loadLibrary(
"FTCTLib", LibFTCTLib.class);
int a(int x);
int DoCommand(int Command, int Param);
int GetDataRecord(int RecordNum, int StreamNum, Date ReadingTime,
double AIN1, double AIN2, double AIN3, double AIN4);
}
}
它調用DLL德爾福。如果在Delphi中將參數設置爲var,那麼Java會崩潰。否則,它們是隻讀的。
我想讓GetDataRecord在RecordNum等中返回數據如何在java中執行此操作?
我不是JNA專家,但由於var參數是引用參數,我不認爲事物的Java方面可以聲明和使用原語。 –
你希望會發生什麼Date參數? –
@David我發現了一些代碼,建議使用Date date = new Date((long)(ReadingTimeRef.getValue()* 1000.0)); ReadingRecords [RecNo-1] .ReadingTime = date;但我還沒有測試過。 –