Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

kIT Universal Presets
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Программное обеспечение printer-friendly view
View previous topic :: View next topic  
Author Message
ApceH



Joined: 08 Apr 2011
Posts: 316
Location: Димитровград

Post (Separately) Posted: Wed Nov 02, 2011 18:00    Post subject: Reply with quote

ask-rus
Пожалуйста Very Happy Но скажу так: чтобы убился неправильный ТС, придётся запустить два и более 64-битных ТС, расположенных на разных логических дисках, притом по одинаковому пути! Реально ли это?...
Хотя действительно не важно реально или нет, жду помощи.

Забыл одно исправление указать. См. выше.
_________________
kIT Programs PowerPack, kIT Universal Presets | Есть только одна истинная вера: чёрная магия...
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2076
Location: Russian Federation

Post (Separately) Posted: Wed Nov 02, 2011 19:43    Post subject: Reply with quote

ApceH wrote:
жду помощи.

Чем ждать, лучше обратиться в места специализированные.
http://www.delphimaster.ru/cgi-bin/forum.pl?n=10 Question
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
ApceH



Joined: 08 Apr 2011
Posts: 316
Location: Димитровград

Post (Separately) Posted: Thu Nov 03, 2011 00:28    Post subject: Reply with quote

ask-rus
Я ведь так и программировать на винапи научусь! Спасибо! Very Happy

Версия 0.3.0.81. SHA1: dad293eb8978d7a0e6b63d3245efe7e10d7eba36
^ Секции [pe(t,q,r): корректная реализация сверки пути 64-битного процесса.
+ 5.2.1.1
+ 5.2.2.1

Прямая ссылка.

Чуть обновил спецификацию.
_________________
kIT Programs PowerPack, kIT Universal Presets | Есть только одна истинная вера: чёрная магия...
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2076
Location: Russian Federation

Post (Separately) Posted: Thu Nov 03, 2011 10:43    Post subject: Reply with quote

Один раз вышло это:
Quote:
---------------------------
Total Commander 8.0Я6
---------------------------
Invalid pointer operation.
Invalid pointer operation
Windows 7 SP1 6.1 (Build 7601)

Please report this error to the Author, with a description
of what you were doing when this error occurred!

Stack trace (x64):40B13D
40BDCA 8907FB 89BE90 7BEDFE 7BF40A 7D85EB 7B9D5D 7B9D47
7B9D47 7BC738 7CE25E 43405E 434554 698294 440462 431944

Press Ctrl+C to copy this report!
Continue execution?
---------------------------
Да Нет
---------------------------

Больше не возникало.

Добавлено спустя 13 минут:

Я думаю, это проблема беты 8-ки.

Добавлено спустя 39 минут:

Надолго (5-8 сек.) задумывается, после запускает новый экземпляр. Напрашивается очередная коррекция.
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
ApceH



Joined: 08 Apr 2011
Posts: 316
Location: Димитровград

Post (Separately) Posted: Thu Nov 03, 2011 14:37    Post subject: Reply with quote

ask-rus
С 7.56а такое бывало хоть раз? У меня нет.
Какое действие совершается? Я предполагаю [per или [peq.

На завершение процесса влияют следующие параметры:
1.1.1.13) CloseProcessWait
Quote:
При выполнении команды [p?q|...] ожидать завершения процесса. Время указывается в миллисекундах. Особые значения: 0 — не ждать, –1 — ждать бесконечно. Реальное время ожидания может быть большим, так как это же значение применяется в SendMessageTimeout при попытке закрыть очередное окно процесса. Никакого принудительного закрытия окон не осуществляется, но по окончании перебора окон процесса снова осуществляется ожидание в течение CloseProcessWait посредством WaitForSingleObject.

1.1.1.14) TerminateAfterWait
Quote:
По завершении ожидания завершения процесса в рамках команды [p?q|...], если процесс так и не завершился самостоятельно, завершить его принудительно вызовом TerminateProcess.


Кроме того, нужно учитывать, что для корректного закрытия процесса сообщение WM_CLOSE шлётся каждому окну процесса. Окна перечисляются примерно так: EnumWindows(@EnumWindowsProc, PID). Если бы я слал только главному окну, то это было бы гораздо менее надёжно. Простейший пример: открытый диалог копирования молчаливо воспрепятствует закрытию. Возможно Г. не правильно реализовал wndproc в 8-ке, внёс какие-то зависимости... "Invalid pointer operation" вообще как-то неприятно звучит... Надо внимательно тестировать.

В самом kIT UP корректное закрытие процесса всё же, признаю, не так корректно, как должно быть. Например, если в блокноте изменить документ, то kIT UP всё равно её закроет без запроса на сохранение. В то время как диспетчер задач сделает более правильно. Уже запряг соавтора доработать.
_________________
kIT Programs PowerPack, kIT Universal Presets | Есть только одна истинная вера: чёрная магия...


Last edited by ApceH on Thu Nov 03, 2011 22:12; edited 1 time in total
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2076
Location: Russian Federation

Post (Separately) Posted: Thu Nov 03, 2011 15:11    Post subject: Reply with quote

ApceH wrote:
С 7.56а такое бывало хоть раз?

Не проверял.
ApceH wrote:
Какое действие совершается? Я предполагаю [per или [peq.

Code:
[PostActions]
per|TOTALCMD64.EXE


Добавлено спустя 5 минут:

ApceH wrote:
В самом kIT UP корректное закрытие процесса всё же, признаю, не так корректно, как должно быть.

>>>
ask-rus wrote:
Надолго (5-8 сек.) задумывается, после запускает новый экземпляр.

Т. е. не работает, а значит совсем не корректное.

Добавлено спустя 9 минут:

Как и предполагал, перезагрузка системы проблему устранила, не поленился на 20 per-ов. Вопрос, надолго ли, и не появится ли вновь. Confused
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
ApceH



Joined: 08 Apr 2011
Posts: 316
Location: Димитровград

Post (Separately) Posted: Thu Nov 03, 2011 16:52    Post subject: Reply with quote

ask-rus
Всегда можно запустить tskill (taskkill) из пресета, если не устраивает [per(q). Уж не говоря о спец.средствах вроде TWinCmd.exe.
Но реализовывать именно per(q) как-то по-другому будет неправильно (соавтор практически убедил меня в этом сегодня), ведь нам именно это и нужно от пресета — выполнять действия в автоматическом (пакетном) режиме. А значит мой пример с блокнотом является надуманным.
_________________
kIT Programs PowerPack, kIT Universal Presets | Есть только одна истинная вера: чёрная магия...
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2076
Location: Russian Federation

Post (Separately) Posted: Fri Nov 04, 2011 12:02    Post subject: Reply with quote

Ошибка повторилась:
Quote:
---------------------------
Total Commander 8.0Я6
---------------------------
Invalid pointer operation.
Invalid pointer operation
Windows 7 SP1 6.1 (Build 7601)

Please report this error to the Author, with a description
of what you were doing when this error occurred!

Stack trace (x64):40B13D
40BDCA 8907FB 89BE90 7BEDFE 7BF40A 7D85EB 7B9D5D 7B9D47
7B9D47 7BC738 7CE25E 43405E 434554 698294 440462 431944

Press Ctrl+C to copy this report!
Continue execution?
---------------------------
Да Нет
---------------------------

Это повод для репорта.

Добавлено спустя 6 минут:

Однако, действительно ли это ошибка беты. Confused
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
ApceH



Joined: 08 Apr 2011
Posts: 316
Location: Димитровград

Post (Separately) Posted: Fri Nov 04, 2011 20:38    Post subject: Reply with quote

ask-rus
Ну лично я (и остальные пользователи kIT PPP) много раз использовали [per|totalcmd.exe] с версией 7.56а. И такого не было действительно ни разу.
Кстати, почему не 8b8? И это 64-битная, да? Может в этом дело?
Попробуй ещё закрывать через диспетчер задач (через вкладку Приложения, а не Процессы), там примерно такое же действие происходит.
Репорт в любом случае нужен. Даже если kIT UP неправильно поступает, что шлёт всем окнам верхнего уровня WM_CLOSE, всё равно нормальная программа не должна от этого рушиться...
_________________
kIT Programs PowerPack, kIT Universal Presets | Есть только одна истинная вера: чёрная магия...
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2076
Location: Russian Federation

Post (Separately) Posted: Sat Nov 05, 2011 12:43    Post subject: Reply with quote

ApceH wrote:
Кстати, почему не 8b8?

Перейду на нее сегодня.
ApceH wrote:
И это 64-битная, да?

Да.
ApceH wrote:
Может в этом дело?

Тебе следовало бы и на ней тестировать свою утилиту.

Добавлено спустя 9 минут:

ApceH wrote:
Репорт в любом случае нужен.

Он здесь.
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
ApceH



Joined: 08 Apr 2011
Posts: 316
Location: Димитровград

Post (Separately) Posted: Sat Nov 05, 2011 14:05    Post subject: Reply with quote

ask-rus
Не надо было палить утилу перед самим Гислером! Very Happy Ну версия 0.3 же всего лишь! Кинь в ту тему вот этот мой код. Я там не зарегистрирован.
Code:
procedure CloseProcessByPID(PID: Integer);
  function EnumWindowsProc(hwnd: HWND; lParam: LPARAM): Boolean; stdcall;
  var
    PID: Cardinal;
    Res: Cardinal;
  begin
    GetWindowThreadProcessId(hwnd, @PID);
    if PID = Cardinal(lParam) then
    begin
      SendMessageTimeout(hwnd, 16, 0, 0, SMTO_NORMAL, MainInfo.Configuration.CloseProcessWait, Res);
    end;
    Result := True;
  end;
begin
  EnumWindows(@EnumWindowsProc, PID);
end;

Я не могу и не собираюсь подстраивать функционал и реализацию под конкретные проги, пусти и такие важные. Я должен делать правильно лишь с точки зрения архитектуры Windows, в соответствие с рекомендациями и информацией из MSDN. Хотя, конечно, руководствуюсь здравым смыслом. Секции [I... тому пример.
Ну это в целом. А на практике, конечно, тестирую теперь и на x64. Хотя нигде ещё официально не упоминалась поддержка kITUP-ом x64 Wink
_________________
kIT Programs PowerPack, kIT Universal Presets | Есть только одна истинная вера: чёрная магия...
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2076
Location: Russian Federation

Post (Separately) Posted: Sun Nov 06, 2011 09:43    Post subject: Reply with quote

Кажется, действительно, косяк висит на 6-й бете (на 7-й не проверял), на 8-й он отсутствует, но совсем точно я это утверждать не могу, т. к. ошибка возникала раз в сессию Windows (следующая ошибка только после перезагрузки системы), обычно это первый запуск TC. Если же ошибки не было, то её и не будет до перезагрузки Windows (7 sp1 x64).
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2076
Location: Russian Federation

Post (Separately) Posted: Tue Nov 08, 2011 20:40    Post subject: Reply with quote

Не понял совсем, что это могло бы значить, а главное, хорошо это или плохо - то, что он у себя "отловил".
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
ApceH



Joined: 08 Apr 2011
Posts: 316
Location: Димитровград

Post (Separately) Posted: Tue Nov 08, 2011 22:01    Post subject: Reply with quote

ask-rus
Честно говоря, тоже не понял))) Наверно имеет в виду, что улучшит обработку OnClose...
Значит хорошо)))
_________________
kIT Programs PowerPack, kIT Universal Presets | Есть только одна истинная вера: чёрная магия...
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2076
Location: Russian Federation

Post (Separately) Posted: Wed Nov 09, 2011 17:11    Post subject: Reply with quote

ApceH wrote:
Наверно имеет в виду, что улучшит обработку OnClose...

Я на это надеюсь, ведь сейчас у меня вообще не перезапускает - всегда создает новую копию.
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Программное обеспечение All times are GMT + 4 Hours
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next
Page 6 of 9

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group