Для информирования пользователя о ходе выполняемой длительной операции и возможности ее прервать - используется специальное окно.

На следующем примере показано как вызвать такое окно, чтобы показать сколько обработано элементов полов (25), сколько осталось обработать (76), и скольким элементам плинтусов назначена тип пола (24).


Так выглядит окно процесса с информацией по его состоянию.


При наведении курсора мыши окно сообщает что если на него кликнуть - процесс будет остановлен.


bool bStop = false;
ac_process_window("Init", "LABPP"); // иницииновать окно процесса
string sPhase = "полов (запис.плинтусов=";
int iAssigned = 0;

for (i = 0; i < icount; i++)
{
   bStop = ac_process_window("SetPhase", sPhase+itoa(iAssigned)+")", icount-i);
   if (bStop == true)
   {
       cout << "\nПроцесс остановлен пользователем\n";
       ac_process_window("Close");
       return -1;
   }
   ac_request("set_current_element_from_list", 1, i);
   ac_request("elem_user_property", "set", "Тип отделки пола", "");
}
ac_process_window("Close");