我有一個Java應用程序需要與Windows Mobile設備上的相機進行交互。我已經編寫了Java代碼和本機代碼,它都可以正常工作。我現在遇到的問題是我想開始將變量從Java傳遞到本機代碼,例如用於照片的目錄和文件名稱。Windows Mobile本機代碼 - jstring到LPCTSTR
本地代碼使用SHCAMERACAPTURE
對象與相機進行交互,它期望使用LPCTSTR
s指定目錄和文件名。在傳遞的字符串是的jstring,我可以通過調用得到一個const char *
:
const char *strDir=(jEnv)->GetStringUTFChars(dirName, 0);
但我不知道我怎麼可以把它傳遞給了SHCAMERACAPTURE
對象,因爲它不能轉換const char *
到LPCTSTR
。我嘗試了一個演員(LPCTSTR)strDir
並編譯了它,但運行時發現錯誤(它無法創建文件)。
我是一個Java開發人員,對C++等很新穎,所以我真的不太確定我需要做些什麼來讓我的字符串進入本地調用。有任何想法嗎?
'GetStringChars()'返回一個'const jchar *',所以我仍然不知道如何將它傳遞給我的本地對象? – DaveJohnston 2010-07-26 14:03:01
查看最新的答案 – renick 2010-07-26 14:09:48
什麼是'shcam.szFile'?和'GetStringChars()'不接受0個參數?你能解釋一下這行代碼試圖做什麼嗎?謝謝。 – DaveJohnston 2010-07-26 14:20:27