Orion9

|
Posted: Fri May 29, 2026 00:38 Post subject: |
|
|
| FallenAngel wrote: | | Как это связано? После старта ТС может пройти пол дня. |
Может и никак не связано. Но если в зарегистрированной версии такой проблемы нет, может как-то и связано.
Проверить закрывается ли ТС вероятно получится через простенький лог. Только нужно держать одну копию ТС открытой, чтобы в логе ничего не перемешалось
| Code: | FileAppend(COMMANDER_PATH & "\tc.log", StrFormat("%s %s %s запущен.\r\n", Date(), Time(), COMMANDER_EXE))
Pragma AutorunFinalizeSection
FileAppend(COMMANDER_PATH & "\tc.log", StrFormat("%s %s %s закрыт.\r\n\r\n", Date(), Time(), COMMANDER_EXE)) |
Если тотал действительно закрывается, а не вылетает, о чем это может говорить?
Кстати. Есть вариант при котором функция CheckEnvState может не сработать. Если к переменной %COMMANDER_PATH%\Utils приклеется другой путь без ";", то такой путь перестанет работать, но функция CheckEnvState проверяет только наличие подстроки, а подстрока %COMMANDER_PATH%\Utils останется без изменений. В результате функция не увидит проблем.
Лучше просто проверять любое изменение %Path%, которых после старта ТС не должно быть, если только по минимому.
 Hidden text | Code: | RunThread("CheckEnvState")
Func CheckEnvState()
Local interval = 10 # sec.
Local envname = ";" & COMMANDER_PATH & "\Utils"
#Local snap = GetState("envvars")
Local snap = GetEnv("path")
If Not StrPos(snap, envname) Then
MsgBox("Поток «CheckEnvState» не запущен." & auCRLF & auCRLF & _
"Путь не найден в окружении ;%COMMANDER_PATH%\Utils", "Autorun", 0+48)
Return
EndIf
While 1
Sleep(interval*1000)
#envs = GetState("envvars")
envs = GetEnv("path")
#If Not StrPos(envs, envname) Then
# MsgBox("Путь больше не доступен ;%COMMANDER_PATH%\Utils" & auCRLF & auCRLF & _
If envs <> snap Then
MsgBox("Переменная %Path% изменилась" & auCRLF & auCRLF & _
"Скопировать состояние переменных в буфер?", "Autorun", 4+48+4096)
If EXTENDED = 6 Then
ClipPut(snap & auCRLF & auCRLF & "-------------" & auCRLF & auCRLF & envs)
MsgBox("Скопировано в буфер", "Autorun", 0+64)
EndIf
#Return
snap = envs
EndIf
WEnd
EndFunc |
|
|