![]() |
|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
![]() ![]() |
|
主題工具 | 顯示模式 |
![]() |
#1 |
|
![]() 最近在做專題,整個企劃是用Java來寫
廠商的DLL是VC、VB所以是一定要用JNI來控制 目前卡在驅動的API有個char型態的指標 可是要怎在JNI裡用指標我就不會了>< (其實對JAVA和C++都是一知半解 ![]() API指令如下 語法:
int Rfid_Init(int readerid,char* comportnum ) 語法:
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 << "失敗"; } 好像是說第二個傳入值不是char指標....... 原因我想是出在我在宣告JNI介面時是用成 public native int Rfid_Init(int readerid,char comportnum ); 把指標給移掉,才能通過Java的編譯 不過變成C++這邊在傳值時就會有問題 廠商給的範例程式又加了太多的介面程式碼 看不出來他那部份是怎傳入的....... 廠商範例如下 http://www2.nkfust.edu.tw/~u9114081/testdll.rar 主程式是testdllDlg.cpp 還請各位前輩幫忙給個方向>< ~~~~感謝 |
送花文章: 0,
![]() |
![]() |
#2 (permalink) |
管理版主
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() 這不知道能否做參考
http://dev2dev.bea.com.cn/bbs/thread...ssageID=116497 Java 用 String C 引用 #include "javactransfer.h",就使用 jstring 因為自己沒碰過 Java 所以是否正確就不得而知 |
![]() |
送花文章: 2030,
![]() |
![]() |
#3 (permalink) |
|
![]() 感謝回應~~
我發覺看廠商範例寫只會讓我頭更痛 所以目前是全部自己重寫 主要是照這網址的內容在做 http://cle.linux.org.tw/forum/viewforum.php?f=3 這版本的寫法我覺的好像比較好些 是先將傳入值全部以LPSTR型態傳入 再依各方法所需來轉換型態~~~ 不過網上也有別的寫法就是了只是寫的怪怪的,有的地方也沒說清楚怎來的 就暫時不採用^^a |
送花文章: 0,
![]() |