ВОПРОСЫ АБСОЛЮТНЫХ НОВИЧКОВ

программа для загрузки и просмотра спутниковых снимков Земли, Луны, Марса предоставленных сервисами Google Maps и Космоснимки. Возможность работы с GPS приёмником.

Модератор: Tolik

huntingbees
Новичок
Сообщения: 5
Зарегистрирован: 18 авг 2017, 14:50

Re: ВОПРОСЫ АБСОЛЮТНЫХ НОВИЧКОВ

Сообщение huntingbees »

Судя по исходному коду, при создании новой метки она сразу же добавляется и в кеш после чего метка становится видна на интерфейсе:

// add view to db
CheckID( FClient.Add(VSQLMarkView, True) );
...
// add view to cache
FCache.FMarkViewCache.AddOrUpdate(AMarkRec);

В моем случае добавление в кеш происходит только при перезапуске.
Аватара пользователя
DJ VK
Гуру
Сообщения: 1468
Зарегистрирован: 16 апр 2009, 13:57
Откуда: 8 км. от МКАД
Благодарил (а): 80 раз
Поблагодарили: 314 раз

Re: ВОПРОСЫ АБСОЛЮТНЫХ НОВИЧКОВ

Сообщение DJ VK »

что, в принципе, логично.
Создав метку мы знаем, что база меток поменялась. Ну и на это действие совершаем операцию.
Все что происходит за пределами программы - черный ящик, неизвестность, мусор, от этого практически любая вполне нормальная программа абстрагирована.
Так, например, вспомогательные файлы программы. Любые изменения файла (давайте для образца возьмем файл настроек) вручную программа не воспринимает без особой на то необходимости. Вот как только происходит обращение к этому файлу, вызванное действиями в самой прграмме (чтение или запись) - тогда пожалуйста, и то не факт. Скажем сброс настроек или отмена последней операции не обязательно приведут программу к необходимости чтения подправленного файла.
Иное дело, съемный диск. Как его вынули или всунули - операционка сама рассылает программам сообщение, его можно поймать.

Есть довольно специфическое поведение в некоторых редакторах файлов, когда он чувствителен к изменению файла. И прошу заметить, что он никто не монитрит по таймеру ежесекундно, взбрело ли там кому-то вручную рыться в настройках при запущенной программе, - это абсолютно девиантное поведение с точки зрения запущенной программы (Не изволите ли перезапустить). Так вот в этих редакторах мониторится потеря активации окна приложения и повторная активация (фокус) приложения. Именно в этот момент эти некоторые программы делают проверку, и пишут, что открытый файл поменялся на диске, надо ли переоткрыть?

Резюмируя сказанное. Теоретически можно поддержать то, что вы хотите. Но это весьма специфичное поведение. База должна писать в себя все изменения в реальном времени, а клиент, который не опрашивает её на предмет постоянного наличия изменений - ничего не должен.
Для вашего пожелания создавайте хотелку, просите функцию проверки базы меток, и ждите ее выполнения (от нуля до бесконечности лет)
Пути два.
1) простая кнопка "перечитать метки".
2) проверка обновлений файлов меток при активации основного окна программы.
Аватара пользователя
vdemidov
Гуру
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз
Поблагодарили: 157 раз

Re: ВОПРОСЫ АБСОЛЮТНЫХ НОВИЧКОВ

Сообщение vdemidov »

Еще один путь - не лезть грязными руками в базу SQLite открытую САС.Планетой в монопольном режиме. Теоретически она вообще не должна была открыться. Лучше пользоваться возможностями самой программы по изменению меток через отправку оконных сообщений.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
huntingbees
Новичок
Сообщения: 5
Зарегистрирован: 18 авг 2017, 14:50

Re: ВОПРОСЫ АБСОЛЮТНЫХ НОВИЧКОВ

Сообщение huntingbees »

Оконные сообщения это громоздно и ненадежно, идеально было бы иметь какой-нибудь публичный API для работы с метками О:-)

Спасибо больше за ответы!
Аватара пользователя
DJ VK
Гуру
Сообщения: 1468
Зарегистрирован: 16 апр 2009, 13:57
Откуда: 8 км. от МКАД
Благодарил (а): 80 раз
Поблагодарили: 314 раз

Re: ВОПРОСЫ АБСОЛЮТНЫХ НОВИЧКОВ

Сообщение DJ VK »

huntingbees писал(а):Оконные сообщения это громоздно и ненадежно, идеально было бы иметь какой-нибудь публичный API для работы с метками О:-)
а "с нуля" созвать публичный API для сотен функций не проще вашей каждая - не громоздко?

Редко какая визуальная программа с окнами имеет некие dll функции для вызова параллельно с ее запуском. Командная строка + визуалка - это VLC плеер получится или mkvtoolnix. И такой же неуклюжий код с тысячей ключей(ни то, ни се).
Аватара пользователя
vdemidov
Гуру
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз
Поблагодарили: 157 раз

Re: ВОПРОСЫ АБСОЛЮТНЫХ НОВИЧКОВ

Сообщение vdemidov »

huntingbees писал(а):Оконные сообщения это громоздно и ненадежно, идеально было бы иметь какой-нибудь публичный API для работы с метками О:-)
Куда уж надежнее? Это и есть АПИ. Посылаете WM_COPYDATA с нужной командой и все. http://www.sasgis.org/mantis/view.php?id=2521
Набор комманд ограничен, но если что присылайте пул-реквест.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
huntingbees
Новичок
Сообщения: 5
Зарегистрирован: 18 авг 2017, 14:50

Re: ВОПРОСЫ АБСОЛЮТНЫХ НОВИЧКОВ

Сообщение huntingbees »

vdemidov писал(а):
huntingbees писал(а):Оконные сообщения это громоздно и ненадежно, идеально было бы иметь какой-нибудь публичный API для работы с метками О:-)
Куда уж надежнее? Это и есть АПИ. Посылаете WM_COPYDATA с нужной командой и все. http://www.sasgis.org/mantis/view.php?id=2521
Набор комманд ограничен, но если что присылайте пул-реквест.
А как самому такой экзешник собрать из сорсов? Или тот, что в аттаче подойдет?
Аватара пользователя
DJ VK
Гуру
Сообщения: 1468
Зарегистрирован: 16 апр 2009, 13:57
Откуда: 8 км. от МКАД
Благодарил (а): 80 раз
Поблагодарили: 314 раз

Re: ВОПРОСЫ АБСОЛЮТНЫХ НОВИЧКОВ

Сообщение DJ VK »

vdemidov писал(а):Это и есть АПИ. Посылаете WM_COPYDATA с нужной командой и все. http://www.sasgis.org/mantis/view.php?id=2521
Набор комманд ограничен, но если что присылайте пул-реквест.
А я думал нет api. Можно узнать, какие команды уже есть в api?
huntingbees писал(а): А как самому такой экзешник собрать из сорсов? Или тот, что в аттаче подойдет?
Состояние отработан
Решение решен
Если реализовано, значит в ночнушке последней уже есть. Скорее всего, и в релизе, раз давно реализовано. Уже прямо в программе есть, не надо её делать заново. Просто пользуйся и все.
Daddy
Новичок
Сообщения: 12
Зарегистрирован: 24 авг 2017, 02:41
Благодарил (а): 3 раза

Сетка покрытия планшетами М1:2000, М1:500

Сообщение Daddy »

Здравствуйте, уважаемые разработчики и продвинутые юзеры.
Сначала - great thanks всем, кто участвовал в разработке этого замечательного проекта, я впечатлен.
По делу:
Скажите, плиз, существует ли возможность наложить на карту сетку границ геодезических планшетов М1:2000 и/или М1:500. Ну, на худой конец хотя бы сетку пятитысячников? Разумеется, с последующей загрузкой/склейкой обычными штатными средствами проекта вместе с этой сеткой?
Если такая возможность есть, то где она и куда "потыкать"? Я сам не нашел.
Я не сомневаюсь, что такой функционал крайне востребован всеми, кто так или иначе занимается "инженеркой", не верю, что я "один такой умный" )))
Заранее благодарю всех неравнодушных к моей смешной проблеме!
vlasto1
Советчик
Сообщения: 258
Зарегистрирован: 31 авг 2012, 02:23
Поблагодарили: 70 раз

Re: Сетка покрытия планшетами М1:2000, М1:500

Сообщение vlasto1 »

Daddy писал(а):Здравствуйте, уважаемые разработчики и продвинутые юзеры.
Сначала - great thanks всем, кто участвовал в разработке этого замечательного проекта, я впечатлен.
По делу:
Скажите, плиз, существует ли возможность наложить на карту сетку границ геодезических планшетов М1:2000 и/или М1:500. Ну, на худой конец хотя бы сетку пятитысячников? Разумеется, с последующей загрузкой/склейкой обычными штатными средствами проекта вместе с этой сеткой?
Если такая возможность есть, то где она и куда "потыкать"? Я сам не нашел.
Я не сомневаюсь, что такой функционал крайне востребован всеми, кто так или иначе занимается "инженеркой", не верю, что я "один такой умный" )))
Заранее благодарю всех неравнодушных к моей смешной проблеме!
Зачем тыкать?
Вложения
56.jpg
55.jpg
Ответить

Вернуться в «SAS.Планета»