ビデオをロードするためのC++プログラムがあり、このビデオをインターフェイスJavaで取得したいので、jniを続行します
これは私のJavaコードです:
Display display = new Display();
Shell shell = new Shell(display);
shell.setText("Example");
shell.setLayout(new FillLayout());
// Create a canvas
final Canvas canvas = new Canvas(shell, SWT.NONE);
shell.setSize(580, 350);
shell.open();
int i = canvas.handle;
//start( canvas.handle );
これは私のc++コードです:
Console::WriteLine("0");
m_ctrl = gcnew AxVideoRecvCtrl();
Console::WriteLine("1");
m_ctrl->Name = "VideoRecvCtrlLive";
m_ctrl->BeginInit();
Console::WriteLine("idCanvas = "+idCanvas);
//
IntPtr windowHandle = Process.GetCurrentProcess().MainWindowHandle;
m_ctrl->Parent = control->FromHandle((IntPtr)(idCanvas));
if(m_ctrl->Parent == nullptr){
Console::WriteLine("Is NULll");
return;
}
問題は、常にNULLの結果が得られることです。助けてください。