Разрешить развернутым приложениям обрабатывать графические события, позволяя окнам рисунков оставаться отображенными
void mclWaitForFiguresToDie(HMCRINSTANCE instReserved)
Запрос void mclWaitForFiguresToDie позволяет развернутому приложению обрабатывать графические события.
NULL является единственным параметром, принятым для экземпляра MATLAB ® Runtime (HMCRINSTANCE instReserved).
Эта функция может быть вызвана только после был вызван и ранее libraryInitialize был вызван.libraryTerminate
mclWaitForFiguresToDie блокирует все открытые фигуры. Эта функция выполняется до тех пор, пока не останется видимых фигур. В этот момент отображается предупреждение, если присутствуют невидимые фигуры. Эта функция возвращается только при закрытии последнего окна фигуры вручную - поэтому эта функция должна вызываться после запуска библиотекой хотя бы одного окна фигуры. Эта функция может вызываться несколько раз.
Если эта функция не вызывается, какие-либо окна рисунков, первоначально отображаемые приложением, ненадолго появляются, а затем приложение выходит.
Примечание
mclWaitForFiguresToDie блокирует вызывающую программу только для фигур MATLAB. Он не блокирует никакие GUI Java ®, элементы управления ActiveX ® и другие GUI, не относящиеся к MATLAB, если они не встроены в окно фигуры MATLAB.
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);
}
mclInitializeApplication | mclRunMain | mclTerminateApplication