Page 3 of 14

Posted: Tue 28 Mar, 2006 15:11
by [e]Bu$ter

Latest post of the previous page:

В том что он копирует я не сомневался, просто у меня сразу не получилось...
Сначал FileCopyEx проигнорировал моё желание, а потом, стандартным способом, я копировал уже не туда... :oops:

Posted: Tue 28 Mar, 2006 15:13
by t-rex
[e]Bu$ter
За то что придложил наши новые гламурные смайлики я тебе всё прощяю :P

Posted: Tue 28 Mar, 2006 15:26
by [e]Bu$ter
Ну спасибо :roll:

Posted: Wed 29 Mar, 2006 22:03
by Karbazol
[e]Bu$ter wrote: Ну вот пример. Хожу я по своим папкам туда-сюда... остановился на d:\ и вдруг, приспичило зайти к соседу; вызываю плагин и вижу список компов; захожу на один из них; смотрю и ничего не вижу; жму BS (CtrlPgUp), опять вижу список; ещё раз жму, вижу рабочую группу; ещё раз и появился список провайдеров, ещё раз и... логично было бы оказаться снова на D:\. Но вот вопрос, может ли плагин запомнить то место где находился пользователь перед тем как тот его вызвал?
Некоторым образом исправлено. Теперь плугин будет проверять, является ли текущий каталог сетевым и, если да, то вместо сетевого пути будет выставляться текущий каталог на системном диске.

Posted: Wed 29 Mar, 2006 22:28
by Karbazol
Вот, кто желает, может попробовать.

ЗЫ. У кого-нить Netware'вская сеть под рукой есть?

Posted: Thu 30 Mar, 2006 06:58
by daf
Karbazol wrote:Вот, кто желает, может попробовать.

ЗЫ. У кого-нить Netware'вская сеть под рукой есть?
Есть. Что проверить?

Posted: Thu 30 Mar, 2006 07:38
by [e]Bu$ter
Некоторым образом исправлено. Теперь плугин будет проверять, является ли текущий каталог сетевым и, если да, то вместо сетевого пути будет выставляться текущий каталог на системном диске.
Не совсем понятная формулировка... но главное, что теперь по кругу уже не ходит, а всё время на C:\ выбрасывает. Как я понял, корень - это и есть текущий каталог системного диска.

Karbazol, большое спасибо :good:

Posted: Thu 30 Mar, 2006 07:42
by daf
[e]Bu$ter wrote:
Некоторым образом исправлено. Теперь плугин будет проверять, является ли текущий каталог сетевым и, если да, то вместо сетевого пути будет выставляться текущий каталог на системном диске.
Не совсем понятная формулировка... но главное, что теперь по кругу уже не ходит, а всё время на C:\ выбрасывает. Как я понял, корень - это и есть текущий каталог системного диска.
Подтверждаю. Выкидывает в корень системного диска.

Posted: Thu 30 Mar, 2006 18:11
by Zeroes
daf wrote:
Karbazol wrote:Вот, кто желает, может попробовать.

ЗЫ. У кого-нить Netware'вская сеть под рукой есть?
Есть. Что проверить?
проверь следующее

1)
net:имя_твоего_netware_сервера
потом Ctrlpgup
в итоге у меня трап

2) Не работает выход из ресурсов сети Netware на уровень выше по .. путем нажатия Enter либо с помощью команды cd ..
плагин падает

3) При работе команды cd \\name_of_comp когда сканируется сеть почему-то гасятся
обе панели. переход по сети M$ работает достаточно быстро поэтому неособо и
заметно. при переходах на компы сети Netware уже вызывает неудоумение почему
нет панелей. (при работе net: xxx панели не гасятся)


у тебя какая версия Netware? icq у тебя есть?

Posted: Fri 31 Mar, 2006 07:23
by daf
Zeroes wrote: проверь следующее
1)
net:имя_твоего_netware_сервера
потом Ctrlpgup
в итоге у меня трап
У меня в итоге происходит переход в список сетей:
MicroSoft Windows Network
Web Client Network
Избранное
Сеть NetWare или совместимая
Службы терминалов Microsoft
Zeroes wrote: 2) Не работает выход из ресурсов сети Netware на уровень выше по .. путем нажатия Enter либо с помощью команды cd ..
плагин падает
Сеть NetWare или совместимая -> имя сервера -> корневая шара -> по Enter на .. выйти вверх могу (плагин не падает, просто не переходит на уровень вверх). По команде "cd .." реакция аналогичная

Сеть NetWare или совместимая -> имя сервера -> корневая шара -> шара -> по Enter на .. выйти вверх не могу
Для того чтобы выйти выше, я вызываю выбор дисков (<Alt>+<F1/F2> и выбираю "Сеть") и происходит переход на уровень вверх (т.е. в "Сеть NetWare или совместимая -> имя сервера -> корневая шара")
Zeroes wrote: 3) При работе команды cd \\name_of_comp когда сканируется сеть почему-то гасятся
обе панели. переход по сети M$ работает достаточно быстро поэтому неособо и
заметно. при переходах на компы сети Netware уже вызывает неудоумение почему
нет панелей. (при работе net: xxx панели не гасятся)
подтверждаю
Zeroes wrote: у тебя какая версия Netware?
Novell NetWare 5.00.11 (January 19, 2005)
Zeroes wrote: icq у тебя есть?
Есть, но доступ к ней периодический. Если надо - пиши на мыло. И я выйду в онлайн.

Posted: Mon 03 Apr, 2006 21:25
by Karbazol
Zeroes wrote: 1)
net:имя_твоего_netware_сервера
потом Ctrlpgup
в итоге у меня трап
Проверь с 33 билдом.
Zeroes wrote: 2) Не работает выход из ресурсов сети Netware на уровень выше по .. путем нажатия Enter либо с помощью команды cd ..
плагин падает
Это если ты открываешь из командной строки или когда идешь последовательно из корня так же себя ведет?
Zeroes wrote: 3) При работе команды cd \\name_of_comp когда сканируется сеть почему-то гасятся
обе панели. переход по сети M$ работает достаточно быстро поэтому неособо и
заметно. при переходах на компы сети Netware уже вызывает неудоумение почему
нет панелей. (при работе net: xxx панели не гасятся)
Есть такое дело. Как побороть, еще не знаю :(
daf wrote:Сеть NetWare или совместимая -> имя сервера -> корневая шара -> по Enter на .. выйти вверх могу (плагин не падает, просто не переходит на уровень вверх). По команде "cd .." реакция аналогичная
Так происходит при любом способе попадания в корневую шару или только, когда плаг открывается с командной строки?

ЗЫ Вот, еще один небольшой апдейт.

Code: Select all

[+] В ключ реестра плагина добавлено  новое  значение  "NavigateToDomains"
    типа DWORD. Значения:
    - 0 (По умолчанию). Когда  плагин  открывается  из  командной  строки,
         параметр командной строки всегда трактуется как имя сервера.  Это
         классическое поведение плугина.
    - 1 Когда плагин открывается из командной строки,  параметр  командной
         строки трактуется в  зависимости  от  наличия  обратных  слэшей в
         начале  параметра  -  если  они  есть  (net:\\MY-SERVER),  плагин
         трактует параметр как имя сервера, если слэши отсутствуют, плугин
         трактует параметр как имя сетевой группы или домена.

Posted: Tue 04 Apr, 2006 05:29
by daf
Karbazol wrote:
Zeroes wrote: 1)
net:имя_твоего_netware_сервера
потом Ctrlpgup
в итоге у меня трап
Проверь с 33 билдом.
Zeroes wrote: 2) Не работает выход из ресурсов сети Netware на уровень выше по .. путем нажатия Enter либо с помощью команды cd ..
плагин падает
Это если ты открываешь из командной строки или когда идешь последовательно из корня так же себя ведет?
Хоть вопрос и не ко мне, но см. предидущий пост. Всё это сделано с 33 билдом.
Karbazol wrote:
daf wrote:Сеть NetWare или совместимая -> имя сервера -> корневая шара -> по Enter на .. выйти вверх могу (плагин не падает, просто не переходит на уровень вверх). По команде "cd .." реакция аналогичная
Так происходит при любом способе попадания в корневую шару или только, когда плаг открывается с командной строки?
При любом.
Karbazol wrote: ЗЫ Вот, еще один небольшой апдейт.

Code: Select all

[+] В ключ реестра плагина добавлено  новое  значение  "NavigateToDomains"
    типа DWORD. Значения:
    - 0 (По умолчанию). Когда  плагин  открывается  из  командной  строки,
         параметр командной строки всегда трактуется как имя сервера.  Это
         классическое поведение плугина.
    - 1 Когда плагин открывается из командной строки,  параметр  командной
         строки трактуется в  зависимости  от  наличия  обратных  слэшей в
         начале  параметра  -  если  они  есть  (net:\\MY-SERVER),  плагин
         трактует параметр как имя сервера, если слэши отсутствуют, плугин
         трактует параметр как имя сетевой группы или домена.
Работает как написано, НО... хотелось бы ещё иметь возможность прервать выполнение комманды net: А то по ошибке не набрал "" перед именем компьютера и обрёк себя на долгое ожидание :-(

Posted: Tue 04 Apr, 2006 22:30
by Karbazol
daf wrote: Работает как написано, НО... хотелось бы ещё иметь возможность прервать выполнение комманды net: А то по ошибке не набрал "" перед именем компьютера и обрёк себя на долгое ожидание :(
Увы! Пока я не знаю, как такое прерывание реализовать :( Сейчас проверка наличия ресурса в сети реализована через функцию WNetGetResourceInformation, и именно в ней плагин так много времени проводит, а уж что там внутри у ней происходит, доподлинно известно только мелкомягким.
Первая мысль, которая приходит в голову, это держать в памяти список серверов, видимых в сети, и постоянно его обновлять, сканируя сетку. Не думаю, что админы обрадуются, заметив траффик, который будет создавать Фар при таком решении.
daf wrote:Сеть NetWare или совместимая -> имя сервера -> корневая шара -> по Enter на .. выйти вверх могу (плагин не падает, просто не переходит на уровень вверх). По команде "cd .." реакция аналогичная
А у Zeroes'a в такой ситуации плаг падает, вот поэтому я и посоветовал ему попробовать 33-й билд.

Posted: Wed 05 Apr, 2006 09:23
by Centaur
Сканировать ничего не надо.

У меня такое впечатление, что обращение к Microsoft’овской сети прервать нельзя в принципе — где-то там это всё завязано на ядро.

При работе поверх TCP/IP можно перед обращением к серверу разок его пингануть (что я обычно делаю перед тем, как вызывать Network plugin). Но в общем случае не знаю, да и есть вероятность ложных срабатываний (скажем, параноидальный держатель сервера забыл разрешить ICMP echo в настройках firewall’а).

Posted: Wed 05 Apr, 2006 10:37
by Andrey Budko
Тю. Почему бы тупо не пускать эту функу в отдельном триде? И килять при необходимости. Запугал вас Жемеров что ли 3 года назад цитатами из MSDN? Постоянно киляю фар в таких случаях (не ждать же) и ни разу ничего не случилось с сеткой. Во всяком случае в WinXP.

Posted: Wed 05 Apr, 2006 11:08
by HaRT
Andrey Budko wrote:Тю. Почему бы тупо не пускать эту функу в отдельном триде? И килять при необходимости. Запугал вас Жемеров что ли 3 года назад цитатами из MSDN? Постоянно киляю фар в таких случаях (не ждать же) и ни разу ничего не случилось с сеткой. Во всяком случае в WinXP.
Да ведь даже и убивать-то необязательно: в отдельном потоке ищется ресурс, основной поток ждёт; если ресурс нашёлся, он передаётся в главный; если пользователь прерывает, пусть тот поток умрёт в фоне своей смертью; а уж если Фар закрывается, тогда можно и потоки прибить.
Правда, при особо неудачных раскладах может получиться много "полумёртвых" потоков, но кого этим сейчас удивишь.