我正在嘗試DLLImport函數simxGetObjects
從remoteApi.dll
v-rep軟件。這裏是鏈接到該函數描述: http://www.coppeliarobotics.com/helpFiles/en/remoteApiFunctions.htm#simxGetObjectsC#Dllimport - 指針接收數組的指針
,這裏是從上面的鏈接該功能的簡要說明:
描述:中檢索對象的給定類型的把手,或所有類型的(即,所有對象處理)
ç簡介: simxInt simxGetObjects(simxInt clientID的,simxInt的objectType,simxInt * objectCount,simxInt ** objectHandles,simxInt一個operationMode)
C參數:
clientID:客戶端ID。請參閱simxStart。
的objectType:對象類型(sim_object_shape_type,sim_object_joint_type等,或用於sim_handle_all任何類型的對象
objectCount:指針的值,將接收檢索的句柄數
objectHandles:指針指向一個將接收對象句柄數組的指針,該數組在調用下一個遠程API函數前保持有效 operationMode:遠程API函數操作模式推薦操作mod E對於這個功能simx_opmode_oneshot_wait
這裏就是這樣,我將其導入(simxGetObjects
功能):
[DllImport("remoteApi.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int simxGetObjects(int clientID, string objectType, IntPtr objectCount, ref IntPtr objectHandles, string operationMode);
,這裏是我如何我稱之爲:
int intClientID = simxStart("127.0.0.1", 19999, true, true, 5000, 5);
IntPtr intptrObjectCount = IntPtr.Zero;
IntPtr intptrObjectHandles = IntPtr.Zero;
simxGetObjects(intClientID, "sim_handle_all", intptrObjectCount, ref intptrObjectHandles, "simx_opmode_oneshot_wait");
它不顯示任何錯誤,但是intptrObjectCount和intptrObjectHandles變量都爲零。
我真的很感謝有人能幫助我。
什麼是simxGetObjects的返回值? – walruz
返回值是一個標誌,顯示函數的狀態是否成功。但是,實際的輸出是我需要獲得的'objectCount'和'objectHandles'。它基本上調用在後臺運行的軟件,並檢索場景中所有對象的編號和句柄。 – NESHOM
返回值(我的意思是價值本身)可能有助於理解你做錯了什麼。 – walruz