メインコンテンツ

mclWaitForFiguresToDie

デプロイされたアプリケーションがグラフィックス イベントを処理できるようにし、Figure ウィンドウを表示したままにする

概要

void mclWaitForFiguresToDie(HMCRINSTANCE instReserved) 

説明

void mclWaitForFiguresToDie を呼び出すと、デプロイされたアプリケーションがグラフィックス イベントを処理できるようになります。

MATLAB® Runtime インスタンス (HMCRINSTANCE instReserved) で受け入れられる唯一のパラメーターは NULL です。

この関数は、libraryInitialize が呼び出された後、libraryTerminate が呼び出される前にのみ呼び出すことができます。

mclWaitForFiguresToDie は、開いているすべての Figure をブロックします。この関数は、表示されている Figure がなくなるまで実行されます。その時点で、表示されていない Figure が存在する場合は警告を表示します。この関数は、最後の Figure ウィンドウが手動で閉じられた場合にのみ返します。したがって、この関数は、ライブラリが少なくとも 1 つの Figure ウィンドウを実行した後に呼び出す必要があります。この関数は複数回呼び出すことができます。

この関数が呼び出されない場合、アプリケーションによって最初に表示された Figure ウィンドウが短時間表示され、その後アプリケーションが終了します。

メモ

mclWaitForFiguresToDie は、MATLAB Figure に対してのみ呼び出し側のプログラムをブロックします。Java® GUI、ActiveX® コントロール、またはその他の非 MATLAB GUI は、MATLAB Figure ウィンドウに組み込まれていない限りブロックされません。

int run_main(int argc, const char** argv)
{
		int some_variable = 0;
		if (argc > 1)
			 test_to_run = atoi(argv[1]);
    
    /* Initialize application */

    if( !mclInitializeApplication(NULL,0) )
    {
			fprintf(stderr,
						"An error occurred while
								initializing: \n %s ",
						mclGetLastErrorMessage());
			return -1;
		}

		if (test_to_run == 1 || test_to_run == 0)
		{
			/* Initialize ax1ks library */
			if (!libax1ksInitialize())
			{
					fprintf(stderr,
							"An error occurred while
								initializing: \n %s ",
							mclGetLastErrorMessage());
					return -1;
			}
		}

		if (test_to_run == 2 || test_to_run == 0)
		{
			/* Initialize simple library */
			if (!libsimpleInitialize())
			{
					fprintf(stderr,
							"An error occurred while
								initializing: \n %s ",
							mclGetLastErrorMessage());
					return -1;
			}
		}

		/* your code here
		/* your code here
		/* your code here
		/* your code here
		/*
		/* Block on open figures */
			mclWaitForFiguresToDie(NULL);
		/* Terminate libraries */
			if (test_to_run == 1 || test_to_run == 0)
				libax1ksTerminate();
			if (test_to_run == 2 || test_to_run == 0)
				libsimpleTerminate();
		/* Terminate application */
			mclTerminateApplication();
      return(0);
}

バージョン履歴

R2009a で導入