На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Время ожидания ГИС Сервера

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: 1 2 След.
RSS
Время ожидания ГИС Сервера, Время ожидания ГИС Сервера
 
Здравствуйте!

Есть такая проблемка.

Если прикладную программу запустить и поработав в ней сразу закрыть, то все хорошо закрывается.
Если прикладную программу запустить и скинуть подождать ее на панели задач, в течении скажем 13 минут,
то при закрытии программа выдает ошибку см. скриншот.
Прикладная программа для работы с картой подключается к удаленному ГИС Серверу.
Дополнительно приведен скриншот открытых в это время объектов (для справки).

В чем может быть проблема?
1.PNG (4.63 КБ)
2.PNG (32.52 КБ)
3.PNG (31 КБ)
 
Вы работаете с использованием визуальных компонент GIS ToolKit или чрез АПИ ГИС-ядра? Какая версия продукта?
 
Цитата
Andrey Gheleznyakov написал:
Какая версия продукта?
Версия ГИС Сервера 8.3
GisToolKit последняя 13.4.4.1

В процедуре, закрытия карты, на которую ругается программа
есть как визуальные компоненты,
так и функции MapApi.

procedure CloseMap;
Var
center     : TDOUBLEPOINT;
vPlaceOut  : TPPLACE;
i          : integer;
begin
// Определяем и записываем центр карты
Try
vPlaceOut := PP_PLANE;
form_main.mvMap.GetCenter(center, vPlaceOut);
except
end;

Try
bd2.QUserProj.Edit;
bd2.QUserProjMapScale.AsInteger := form_main.mvMap.ViewScale;
bd2.QUserProjMapX.AsFloat := Round(center.X);
bd2.QUserProjMapY.AsFloat := Round(center.Y);
bd2.QUserProj.Post;
except
end;

// Очищаем массивы для возможно выделенных объектов
For i := 0 to 200 do
begin
ObjNum[i] := 0;
ChoiceObject[i] := '';
end;

// Обнуляем переменные для массивов
ObjKey := 0;
IDObject := '';
ObjSelectCount := 0;

// Закрываем созданные для этой карты контексты
Try
main_form.aObjSelect.Free;
mapDeleteSelectContext(hselN);
except
end;

Try
form_main.mvMap.MapView := false;
form_main.mvMap.MapClose;
except
end;

Try
form_main.MapGisServer1.CloseConnect(1);
except
end;

form_main.Timer1.Enabled := false;

// Очищаемы панели статус бара
form_main.sbStatus.Panels[1].Text:='';
form_main.sbStatus.Panels[2].Text:='';
form_main.sbStatus.Panels[3].Text:='';
form_main.sbStatus.Panels[4].Text:='';
form_main.sbStatus.Panels[5].Text:='';
form_main.sbStatus.Repaint;
end;  
 
А можно в отладчике определить на какой строчке кода идет сбой?
 
Результат работы Debuger во вложении.
Строку кода, на которой идет сбой,  определить не удалось.
Может файл log.txt во  вложении, что-то подскажет.
4.PNG (201.68 КБ)
5.PNG (189.48 КБ)
6.PNG (237.31 КБ)
Изменено: Сергей Викторович - 01.12.2021 15:43:10
 
По логу никаких предположений. Надо в отладчике смотреть на какой команде! Либо делать сообщения перед вызовами функций.
 
Кто создает эти потоки?

Thread Start: Thread ID: 10104. Process Uzor.exe (1568)
Thread Start: Thread ID: 3172. Process Uzor.exe (1568)
Thread Start: Thread ID: 10916. Process Uzor.exe (1568)
Thread Exit: Thread ID: 10520. Process Uzor.exe (1568)
Thread Start: Thread ID: 5632. Process Uzor.exe (1568)
Thread Exit: Thread ID: 5632. Process Uzor.exe (1568)
Thread Exit: Thread ID: 5584. Process Uzor.exe (1568)
Thread Exit: Thread ID: 6224. Process Uzor.exe (1568)

Компонент TMapView или другие визуальные компоненты для обработки объектов карты?
Зачем они стартуют? каждый раз с новым ID?
 
Хотя бы для многопоточного рисования, считывания данных, работы с классификатором.
 
Цитата
Andrey Gheleznyakov написал:
Хотя бы для многопоточного рисования, считывания данных, работы с классификатором.
Но программиста смущает это.
Он тоже запускает потоки тогда, когда ему нужно, например что-то рассчитать и т.п.
Но после окончания процесса, он освобождает поток, который сам и контролирует.
А тут ни с того ни с сего, какой-то поток стартует, выходит, снова стартует каждый раз с новым ID.
 
Ищите место вылета.
Страницы: 1 2 След.
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности