1

ビデオをロードするための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の結果が得られることです。助けてください。

4

0 に答える 0