Latest post of the previous page:
а фар такое как обрабатывает?FarCall — задание переменных окружения пакетным файлом
-
- Posts: 90
- Joined: Fri 02 Dec, 2005 20:47
- Location: Москва
- Has thanked: 4 times
- Been thanked: 2 times
Re: FarCall — задание переменных окружения пакетным файлом
Какое? Он же не сам обрабатывает батники, а запускает новый экземпляр cmd и ждет его завершения. Или не так?а фар такое как обрабатывает?
Из-за того, что переменные, созданы в другой сессии, он не может получить их значения, т.к. область видимости незарегистрированных в системе переменных ограничена текущим процессом cmd. Плагин позволяет избежать это ограничение, но не видит переменные из области setlocal батника.
Code: Select all
@echo off
set test_1=test_1
setlocal
set test_2=test_2
- t-rex
- Страшный и ужасный
- Posts: 4910
- Joined: Tue 15 Mar, 2005 16:17
- Location: Tel-Aviv
- Has thanked: 1 time
- Been thanked: 8 times
- Contact:
Re: FarCall — задание переменных окружения пакетным файлом
Ну так это же правильно, почему вдруг должно быть по другому?
-
- Posts: 90
- Joined: Fri 02 Dec, 2005 20:47
- Location: Москва
- Has thanked: 4 times
- Been thanked: 2 times
Re: FarCall — задание переменных окружения пакетным файлом
Я поэтому и написал "Хотя с другой стороны.." Т.е здесь нет оптимального решения. Если, допустим, нужна одна результирующая переменная, но чтоб ее получить в ходе выполнения батника создаются еще 99, то они потом будут висеть в фаре, хотя совсем не нужны. Но их можно упрятать в setlocal. А в другом случае может наоборот потребоваться переменная из области setlocal. Может есть возможность добавить настройки к плагину?Ну так это же правильно, почему вдруг должно быть по другому?
- t-rex
- Страшный и ужасный
- Posts: 4910
- Joined: Tue 15 Mar, 2005 16:17
- Location: Tel-Aviv
- Has thanked: 1 time
- Been thanked: 8 times
- Contact:
Re: FarCall — задание переменных окружения пакетным файлом
Плагин тут вообще не причём, он переменные в setlocal вообще не видит, для этого setlocal и придумали то, так должно работать и никаких настроек и выкрутасов не надо.
- t-rex
- Страшный и ужасный
- Posts: 4910
- Joined: Tue 15 Mar, 2005 16:17
- Location: Tel-Aviv
- Has thanked: 1 time
- Been thanked: 8 times
- Contact:
Re: FarCall — задание переменных окружения пакетным файлом
Сергей, я тут посмотрел твой код и подумалось, не проще ли просто запустить процесс а потом когда он вышел вычитать блок env из его памяти перед закрытием его handle - или в этот момент там уже пусто (хэндл то ещё открыт, может оно всё ещё там не)?
- hoopoe
- Posts: 263
- Joined: Mon 28 Mar, 2005 07:44
- Location: Нежный Новгород
- Has thanked: 1 time
- Contact:
Re: FarCall — задание переменных окружения пакетным файлом
закинул новую версию... там фикс для фара билда 1145+
Re: FarCall — задание переменных окружения пакетным файлом
можно надеяться на 64 битную версию? или сейчас есть альтернативы плагину?
- hoopoe
- Posts: 263
- Joined: Mon 28 Mar, 2005 07:44
- Location: Нежный Новгород
- Has thanked: 1 time
- Contact:
Re: FarCall — задание переменных окружения пакетным файлом
можно, конечно... только что-то она падает... причем валится внутри фара если в функе GetPluginInfoW указать префикс вызова плуга... собираю VS2010... может кто-нить что-нить подскажет?
Re: FarCall — задание переменных окружения пакетным файлом
hoopoe,
мы ж с тобой в личке все решили . я просто тут раньше вопрос написал.
несобирается из-за - в настройках Struct Member Alignment. если выставить в default , все взлетает.
плюс - смена API. FCTL_GETCURRENTDIRECTORY - еще в 1180 удалили.
я поправил версию, сам пользуюсь, да все руки не доходят выложить.
по уму, раз ты нигде исходники не хранишь, их кинуть бы на какой-нибудь google-code , рядом с другими плагинами
мы ж с тобой в личке все решили . я просто тут раньше вопрос написал.
несобирается из-за - в настройках Struct Member Alignment. если выставить в default , все взлетает.
плюс - смена API. FCTL_GETCURRENTDIRECTORY - еще в 1180 удалили.
я поправил версию, сам пользуюсь, да все руки не доходят выложить.
по уму, раз ты нигде исходники не хранишь, их кинуть бы на какой-нибудь google-code , рядом с другими плагинами
- hoopoe
- Posts: 263
- Joined: Mon 28 Mar, 2005 07:44
- Location: Нежный Новгород
- Has thanked: 1 time
- Contact:
Re: FarCall — задание переменных окружения пакетным файлом
да я просто фар поставил на 64-bit... far call отвалился накер... вот и занялся портированием... ты б сырцы-то новые выложил
Re: FarCall — задание переменных окружения пакетным файлом
выкладывать в общем то нечего, я только до работоспособного варианта довел под far2
строку
заменяешь на
и в настройках Struct Member Alignment выставить в default
после этого соберется и будет работать на far2.
строку
Code: Select all
InfoW.Control(INVALID_HANDLE_VALUE, W::FCTL_GETCURRENTDIRECTORY, CUR_DIR_SIZE, (long*)curdir);
Code: Select all
FSFW.GetCurrentDirectory(CUR_DIR_SIZE,curdir);
после этого соберется и будет работать на far2.
- hoopoe
- Posts: 263
- Joined: Mon 28 Mar, 2005 07:44
- Location: Нежный Новгород
- Has thanked: 1 time
- Contact:
Re: FarCall — задание переменных окружения пакетным файлом
вот, вроде должно работать на Far 64... там сырцы и бинарики... собирал десятой студией (что под руку попалось )
2sonar: у мну есть сурс контроль клиент только svn... так шо если надумаешь сырцы публиковать - то все, что не svn (ну еще cvs можно попробовать) - пойдет через твои руки
2sonar: у мну есть сурс контроль клиент только svn... так шо если надумаешь сырцы публиковать - то все, что не svn (ну еще cvs можно попробовать) - пойдет через твои руки
- Attachments
-
- FarCall_64_test.7z
- (53.12 KiB) Downloaded 154 times