Цитата |
---|
Денис Вицко написал: ГИС Сервер 8.3 мягко говоря, устарел. |
05.04.2022 16:44:14
|
|||
|
|
05.04.2022 16:53:06
Почему у Вас есть уверенность, что висит именно закрытие соединения с ГИС Сервером? Может приложение еще какие действия выполняет?
|
|
|
|
05.04.2022 17:01:22
form_main.MapGisServer1.CloseConnect(1) else ShowMessage('Есть открытые данные у соединения'); Не помогло. Программа видит, что есть открытые данные, и пытается их закрыть. Но при этом так и захватывает дискриптор программы на 30 секунд. Для нас это много. Нам нужно сразу отключиться от ГИС Сервера. |
|||
|
|
05.04.2022 17:07:27
Вы перед mapCanCloseConnect данные закрываете все?
Надо пройтись по всем mapview, mapscreen и закрыть данные.
Изменено: |
|
|
|
05.04.2022 17:45:31
mapDeleteSelectContext(hselN); form_main.mvMap.MapView := false; form_main.mvMap.MapClose; |
|||
|
|
05.04.2022 19:42:30
Все происходит штатно. Но, в процессах остается "висеть" программа. Ровно через 30 секунд, она сама закрывается в процессах. Есть подозрение, что ГИС Сервер еще дает о себе знать ровно 30 секунд и только после этого дискриптор программы отпускается операционной системой. |
|||
|
|
06.04.2022 14:14:07
Наметилось понимание вопроса.
Так при запуске предыдущей версии прикладной программы, отключение от ГИС Сервера происходит действительно мгновенно. Осталось разобраться, что именно добавлено в последнюю версию прикладной программы, что заставляет ее удерживать дискриптор 30 секунд. Пока только компонент для импорта/экспорта в Geojson. Разбираюсь.
Изменено: |
|
|
|
07.04.2022 11:10:39
В присланных Вами текстах открытие соединения выполняется дважды:
Причем пользователя Вы регистрируете для второго соединения, а далее вся работа идет через первое соединение. У Вас в коде нет закрытия ни первого, ни второго соединения. Примитивный пример модуля с подключением к ГИС Серверу (с Вашим тестовым ГИС Сервером отключение происходит мгновенно):
Но, даже если в Вашем коде поправить открытие и закрытие соединений, задержка при выгрузке приложения всё равно остается. А вот если закомментировать все остальное (кроме открытия соединения и карты с ГИС Сервера) проблема исчезает. Из чего делаем вывод, что проблема не в ГИС Сервере. PS несколько раз бесконтрольно (есть уже или нет) вызывается создание HSELECT: mapCreateMapSelectContext(Form1.mvMap.MapHandle); // Создание нового контекста поиска и ни разу не освобождается!
Изменено: |
|||||||
|
|
||||||
© КБ Панорама, 1991-2024 Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности |