Форум OlegON > Программы и оборудование для автоматизации торговли > Маркировка

Контроль просрочек молочной продукции на кассах : Маркировка

19.05.2024 7:22


23.10.2023 18:25
volk13
 
Цитата:
student чтобы не случилось по таймауту все отвалится, надо только ошибки при этом обработать
ну т.е. нужен скрипт (а не тупая командная строка), который это сделает (обработает ошибки), верно?

буду рад примеру (как это можно реализовать), для эрудиции ;)
23.10.2023 19:07
student
 
Цитата:
volk13 нужен скрипт (а не тупая командная строка)
насчет скрипта
- кому как нравится :) можно все в батник засунуть

насчет строки
- у нас (укмвин) она собирается и там много чего еще для контроля используется (обычно не требуется но диагностика еще никому не мешала) - готовой строки сейчас под рукой нет
сам ехе - если запускать командную строку (OpenProcess\GetExitCodeProcess\CloseHandle с доп контролем процесса через STILL_ACTIVE) нормально реткод возвращает - его достаточно для анализа хотя там хватит и тупой проверки на ноль
насчет опций используем
на установку соединения --connect-timeout <fractional seconds> Maximum time allowed for connection
на обмен (отправка\получение ответа) --max-time <fractional seconds> Maximum time allowed for transfer
все работает как часы, никаких проблем :)

для црпт и винхп скорее всего тоже прикрутим курл если не разрулим через WinHttp с опциями

в аттаче возвраты от курла

https://storage.olegon.ru/supermag/u...or code.txt.7z
(0.01Мб)
23.10.2023 19:20
FinSoft
 
По curl такой расклад.
1. Можно запускать curl.exe (куча примеров на все случаи жизни в интернете, родной вариант для линукса, откуда оно родом). Если запускать как процесс, то там есть опция выполнения в скрытом режиме, мелькания окошек не происходит. Я так и делаю.
2. Можно использовать curlib.dll. По факту curl.exe это надстройка над curlib.dll. Dll на сях. У нас коллега давно уже прокладку приделал и выложил в опенсорс, большинство через нее работают.
3. Если под XP, то в последних версиях curl были проблемы с совместимостью, недавно как раз обсуждали. Тут либо брать не последнии версии, либо самостоятельно взять сырцы, убрать несовместимость и скомпилить. Несовместимость касалось вызова одной не принципиальной функции.
23.10.2023 19:32
FinSoft
 
Если curl.exe запущен как процесс, то для индикации и прерывания можно повесить зацикленный термометр со счетчиком времени в окошке программы. Когда проходит некоторое время, активируется кнопка прерывания процесса. Если на нее нажать, то программа сбрасывает процесс с curl. Это плюс запуска процесса - нашей программе известен его хэндл и всегда принудительно можно завершить.
25.10.2023 13:21
MWWRuza
 
Цитата:
FinSoft 3. Если под XP, то в последних версиях curl были проблемы с совместимостью
Д уж... Целый вечер вчера убили, пока подобрали версию, которая при запуске не пишет "приложение не является приложением Win32", хотя в описании и имени файла архива русским по белому написано ХР, х32(вот с чего такая ошибка? Чего-то в ХП не хватает? На двух абсолютно разных машинах пробовал, результат один), и что-бы она при этом умела с https работать, без дополнительныз загрузок сертификатов и кучи лишних ключей в командной строке.
Но, подобрали, работает на ХРшке Хоме, 32 бита. отдает результат запроса с ключем из ЛК ЧЗ.
Просто запросы WinHTTP и XMLHTTP не отрабатывают(нет, ну возможно и можно настроить, проходил это, когда базу ШК от ОлегОн в 1с77 под ХП настраивал, тут тема есть, тогда даже что-то получилось - но сложно все это, и на каждой кассе затрахаешься настраивать, с cUrl проще, нужно просто правильную версию использовать).
Если кому нужно - могу выложить.
25.10.2023 13:33
OlegON
 
Цитата:
MWWRuza подобрали, работает на ХРшке Хоме, 32 бита
Лучше тогда приложить сюда, мало ли, кому-то пригодится.
25.10.2023 13:40
MWWRuza
 
Нет проблем, во вложении.
Версия "самодостаточная", работает без установки, просто файлики положить по доступному пути, например в систем32, ну или создать отдельный каталог под него и путь к нему прописать в переменной PATH сисемного окружения, тут как кому больше нравится, работает и так и так.
Вложения
Тип файла: zip cUrl.zip (1.03 Мб, 25 просмотров)
25.10.2023 14:29
FinSoft
 
Коллега немного разъяснял когда-то проблемы с работой curl по xp.

Цитата:
Я немного погрузился в тему и выяснил, что эта новая зависимость используется в функции.... random()
Если точнее то новая функция BCryptGenRandom
Вероятно, раньше рандом плохо работал, и ради нового, более лучшего рандома нужно обновить библиотеку и дропнуть поддержку XP )
Ну и бред
25.10.2023 16:24
student
 
Цитата:
MWWRuza Д уж... Целый вечер вчера убили, пока подобрали версию
ага, повеселились знатно :) но результат того стоит
будем у себя (укмвин) дополнительно добавлять для варианта не корректной работы через winhttp
Цитата:
FinSoft Если точнее то новая функция BCryptGenRandom
а еще точнее - в хп нет нормальной поддержки longptr и приходится извращаться со сборкой екзешника :) в указанной сборке
Цитата:
dynamic loading of GetTickCount64 so it's possible for the 32-bit version to run on Windows XP
26.10.2023 17:40
MWWRuza
 
Гладко было на бумаге, за забыли про овраги
ЕГАИС с ним не хочет работать, не понятно, что ему нужно...

Трассировка:
15:47:04.217000 == Info: Trying 192.168.0.35...
15:47:04.217000 == Info: TCP_NODELAY set
15:47:04.232000 == Info: Connected to 192.168.0.35 (192.168.0.35) port 8080 (#0)
15:47:04.420000 == Info: Connection #0 to host 192.168.0.35 left intact

Меняешь на старый(7.40), все работает при той-же командной строке
Часовой пояс GMT +3, время: 07:22.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.