查看單個文章
舊 2005-07-21, 05:14 PM   #1
luka
榮譽勳章

勳章總數
UID -
在線等級:
文章: n/a
精華:
預設 請教一下JNI的問題....

最近在做專題,整個企劃是用Java來寫
廠商的DLL是VC、VB所以是一定要用JNI來控制
目前卡在驅動的API有個char型態的指標
可是要怎在JNI裡用指標我就不會了><
(其實對JAVA和C++都是一知半解 )
API指令如下
語法:
int Rfid_Init(int readerid,char* comportnum )
c++實作方法我是寫成像下面這樣
語法:
JNIEXPORT jint JNICALL Java_jni_1java_Rfid_1Init
  (JNIEnv *, jobject, jint readerid, jchar comportnum)
{

	int initvalue = Rfid_Init(readerid,comportnum );<==這行跑不過去
	if(initvalue==0)
		cout << "成功連接";
	else
		cout << "失敗";
}
可是在編譯時會出現說"cannot convert parameter 2 from 'unsigned short' to 'char *'"
好像是說第二個傳入值不是char指標.......
原因我想是出在我在宣告JNI介面時是用成
public native int Rfid_Init(int readerid,char comportnum );
把指標給移掉,才能通過Java的編譯
不過變成C++這邊在傳值時就會有問題
廠商給的範例程式又加了太多的介面程式碼
看不出來他那部份是怎傳入的.......
廠商範例如下
http://www2.nkfust.edu.tw/~u9114081/testdll.rar
主程式是testdllDlg.cpp
還請各位前輩幫忙給個方向>< ~~~~感謝
 
送花文章: 0, 收花文章: 0 篇, 收花: 0 次
回覆時引用此帖