Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Обновление программы через облачное хрвнилище

Страниц (4): « 1 2 [3] 4 »
 

21. Zireael - 26 Августа, 2019 - 04:48:33 - перейти к сообщению
Во-первых, код не запускаемый.
Во-вторых:
 Цитата:
writeclipboard("ключевое слово другой программе" );

Записали в буфер, хорошо. Если после этого другая программа или пользователь что-то скопируют в буфер?
22. 007wan - 26 Августа, 2019 - 04:55:46 - перейти к сообщению
 Zireael пишет:
Во-первых, код не запускаемый.
Во-вторых:
 Цитата:
writeclipboard("ключевое слово другой программе" );

Записали в буфер, хорошо. Если после этого другая программа или пользователь что-то скопируют в буфер?
Код не запускаемый, потому что нету переменных. Не успеют. Там считанные секунды, а если даже скопирую в буфер что-то другое в момент запуск модуля обновления, то у них просто запустится снова основная программа, а если не запустится, то сообщение попросит запустить ее в ручную или же перенести модуль обновления с программой основной в одну папку.
(Добавление)
Что ты предлалагаешь? Использовать файлы?
(Добавление)
Я лично не хочу использовать код открытия, создания или чтения файла - это лишнее по-моему и как-то не удобно.
23. Zireael - 26 Августа, 2019 - 05:20:26 - перейти к сообщению
Зачем вообще что-то записывать в буфер винды. В основной программе запустить апдейтер, если нужно, и закрыться.
 Цитата:
либо переместите её в одну папку с модулем обновления и повторите попытку снова.

Это на кой надо? Апдейтер должен быть в ресурсах. Если его нет, то распаковать и запустить.
24. 007wan - 26 Августа, 2019 - 06:00:42 - перейти к сообщению
Zireael ,
 Zireael пишет:
Зачем вообще что-то записывать в буфер винды. В основной программе запустить апдейтер, если нужно, и закрыться.
Тонкости. Запись в буфер нужна, что бы сообщить о намерении скачать эксэ файл из Апдейтера. Если этого не будет, то тогда при открытии Апдейтера мы не узнаем версию новую доступную, а он просто скачает файл эксэ. Что на счет Апдейтера, то да - я просчитался, надо его закинуть в ресурсы и распаковывать при запуске если имеется, что бы не скачивать по отдельности эксе и Апдейтер.

Тонкости. Понимаешь я проверяю лицензию в основнуй программе, получаю новую и сравниваю, но надо же как-то сообщить Апдейтеру, что есть новая версия и пора скачивать новый Эксэ, я это сделал для того, что бы пользователь специально не запускал отдельно, что бы не скачивал новую Эксэ, не проверив новую версию. Меня так устраивает и очень даже.
25. Zireael - 26 Августа, 2019 - 06:14:46 - перейти к сообщению
 Цитата:
надо же как-то сообщить Апдейтеру, что есть новая версия и пора скачивать новый Эксэ

Зачем? Если основная программа запускает апдейтер, то явно не просто так.
26. 007wan - 26 Августа, 2019 - 06:20:22 - перейти к сообщению
 Zireael пишет:
 Цитата:
надо же как-то сообщить Апдейтеру, что есть новая версия и пора скачивать новый Эксэ

Зачем? Если основная программа запускает апдейтер, то явно не просто так.

Так правильно, она не только запускает апдейтер и пишет в буфер, а после открытия Апдейтера дается "зеленый" света на скачивание.
[/quote]
 Zireael пишет:
Зачем? Если основная программа запускает апдейтер, то явно не просто так.

Что бы пользователь не открывал Апдейтер отдельно и не скачивался сразу новый Эксэ файл без проверки лицензии в Основной программе
Если он запустит Апдейтер без запуска Основной программы, то у него не скачается Новый Эксэ.
27. Kibor - 26 Августа, 2019 - 06:22:07 - перейти к сообщению
Зачем эти заморочки?
Ну используйте тот же

Обмен данными между программами скриптами и управление одной программой из другой
writebuffer- Производит запись в свой буфер либо в буффер указанной программы
readbuffer- Производит чтение с своего буфера либо буфера указанной программы

Запускайте с бота update, в его буфер с бота пишите 1

А update пусть проверит свой буфер и если там 1, то закрывает бот и обновляет.

В таком случае если update руками запустить, то в буфере 1 не будет и update не скачает обновленную.
28. 007wan - 26 Августа, 2019 - 06:23:43 - перейти к сообщению
Kibor ,
 Kibor пишет:
Запускайте с бота update, в его буфер с бота пишите 1
Как я получу указатель на update? Он не имеет диалог! Он даже скрыт с панели!
29. Kibor - 26 Августа, 2019 - 06:25:06 - перейти к сообщению
А что это за программа? Как создается?
(Добавление)
В принципе можно по другому.
Пусть бот пишет в свой буфер 1 если новая есть, а update получает указатель на бот и там читает буфера бота.
30. 007wan - 26 Августа, 2019 - 06:35:36 - перейти к сообщению
 Kibor пишет:
А что это за программа? Как создается?
(Добавление)
В принципе можно по другому.
Пусть бот пишет в свой буфер 1 если новая есть, а update получает указатель на бот и там читает буфера бота.

1)
 Цитата:
А что это за программа? Как создается?

Программа называется бот для игры. Она состоит из двух частей(Основная эксэ[диалоги, распаковка изображений, поиск.....], модуль обновления эксэ[заменяет старую на новую Основную])
2)
 Цитата:
В принципе можно по другому.
Пусть бот пишет в свой буфер 1 если новая есть, а update получает указатель на бот и там читает буфера бота.
Не совсем понял принцип. А понял вроде. Если есть новая версия, то бот пишет в буфер "1" для своего окна, а Апдейтер получает указатель на бот и там читает с буфера бота. Интересное предложение. Я пока подумаю.
(Добавление)
Ну слушай, я думаю это самое лучшее решение на сегодня про обновление.
Основная программа будет записывать в буфер "1", когда пользователь нажал подтверждение о продолжении обновлении. Тогда здесь будет 2 варианта с этого момента:
1)Когда модуль обновления будет висеть и ждать с окна Основной программы с буфера "1".
2)Или Основная его сама запустит и он проверит на наличие "1".
Даже не знаю какой лучше.

Powered by ExBB FM 1.0 Final