FarSettingsItem

Место, где разработчики плагинов могут поделиться своим опытом.
Post Reply
montonero
Posts: 463
Joined: Wed 25 Jun, 2008 16:55
Has thanked: 3 times
Been thanked: 9 times

FarSettingsItem

Post by montonero »

Возник вопрос. Даже несколько:

1. Надо ли указывать тип значения при считывании оного?
2. "За чей счет этот банкет?" В смысле, вот вернулся указатель на строку/данные. Кто его выделил, надо ли его потом освобождать самому? Если нет, то в какой момент он освобождается?
3. "Корень для плагина" это что? Можно аналогию с реестром?
4. FST_UNKNOWN: что это и какие юзкейсы про него есть?
5. FST_SUBKEY: что будет получено в результате считывания такого типа? А записать с таким типом что/как можно?
"Far... Far never changes..."
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

FarSettingsItem

Post by John Doe »

Я тут не специалист, но раз все молчат, то попытаюсь ответить.
montonero wrote: 1. Надо ли указывать тип значения при считывании оного?
Раз в Энциклопедии указано, значит надо.
Даже если сейчас работает без указания, то не гарантируется, что так будет всегда.
montonero wrote: Если нет, то в какой момент он освобождается?
Полагаю, данные необходимо скопировать себе сразу, в других местах Энциклопедии это описано: https://www.google.com.ua/search?q=скоп ... anager.com
montonero wrote: 3. "Корень для плагина" это что?
FSSF_ROOT
montonero wrote: FST_SUBKEY: что будет получено в результате считывания такого типа? А записать с таким типом что/как можно?
По идее чтение/запись его не имеют смысла.
Работать с ним надо с помощью SCTL_CREATESUBKEY/SCTL_OPENSUBKEY (см. http://bugs.farmanager.com/view.php?id=2941).

И вообще, рекомендую поискать на мантисе SettingsControl.
montonero
Posts: 463
Joined: Wed 25 Jun, 2008 16:55
Has thanked: 3 times
Been thanked: 9 times

FarSettingsItem

Post by montonero »

John Doe wrote: Раз в Энциклопедии указано, значит надо.
Если бы это было указано в энциклопедии, то я бы не спрашивал. Энциклопедия вообще очень скупа на описания таких структур, через которые данные как передаются, так и получаются. Там нет ни слова о необходимости заполнения этого поля. К слову, аналогичные реестровые функции указания типа не требуют.
John Doe wrote: Полагаю, данные необходимо скопировать себе сразу
Догадки, это конечно здорово. Но это, опять-таки, не отвечает на вопрос, в какой момент освобождаются эти данные.
John Doe wrote: FSSF_ROOT
Вообще-то, я просил аналогию с реестром, а не еще один малоосмысленный идентификатор, про который в энциклопедии тоже ничего не написано. Где именно он расположен? Он для каждого плагина свой или какой-то общий?
John Doe wrote: По идее чтение/запись его не имеют смысла. Работать с ним надо с помощью SCTL_CREATESUBKEY/SCTL_OPENSUBKEY
Вы не обидетесь, если я назову вас "капитаном очевидность"? Я спрашивал об этом типе в контексте данной конкретной структуры.
John Doe wrote:рекомендую поискать на мантисе SettingsControl
А можно еще исходники посмотреть... Я даже хотел так и сделать. Но SF мертвенький уже который день.

Вообще, направлять за информацией в баг-трекер, это такой интересный метод информирования...
"Far... Far never changes..."
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

FarSettingsItem

Post by John Doe »

montonero wrote: Если бы это было указано в энциклопедии
Да, похоже не указано, по-видимому не требуется (извините, опять догадки).
Взялся отвечать потому что имел практику с SettingsControl, но я не специалист по нутру фара, а такой же пользователь апи, как и вы (только через LuaFAR, где указание типа обязательно, возможно автор тоже не разобрался).
montonero wrote: Я спрашивал об этом типе в контексте данной конкретной структуры.
Ответ был, но почему-то не попал в вашу цитату.
montonero wrote: Вообще-то, я просил аналогию с реестром.
...
Вообще, направлять за информацией в баг-трекер, это такой интересный метод информирования...
Возникает впечатление, что ответам вы не рады. Принимаю к сведению.
montonero wrote:А можно еще исходники посмотреть... Я даже хотел так и сделать. Но SF мертвенький уже который день.
Разве проблема найти исходники.

И да, вы конечно правы в отношении Энциклопедии. Было бы неплохо её усовершенствовать.
Но некому. Может возьмётесь?
montonero
Posts: 463
Joined: Wed 25 Jun, 2008 16:55
Has thanked: 3 times
Been thanked: 9 times

FarSettingsItem

Post by montonero »

John Doe wrote: Ответ был, но почему-то не попал в вашу цитату.
Я, наверное, что-то не понимаю, но я не вижу в вашем ответе ничего кроме обсуждения неточности описания SCTL_CREATESUBKEY/SCTL_OPENSUBKEY.
John Doe wrote: Возникает впечатление, что ответам вы не рады. Принимаю к сведению.
Извините, если я вас обидел, но я задал конкретные вопросы и ожидал получить конкретные ответы. Догадок у меня у самого накопилось за пару дней более, чем хотелось бы. Все, что я смог найти - нашел. В конце концов, есть другие плагины с открытыми исходниками и там можно что-то подсмотреть. Но на данные вопросы я удовлетворительного ответа не нашел.
John Doe wrote: Разве проблема найти исходники.
Проблема. Потому что sourceforge, на котором хостится репозиторий, уже несколько дней испытывает серьезные неполадки. А больше у меня гугл ничего не находит.
John Doe wrote: Может возьмётесь?
Возможно, что мои вопросы, которые у меня возникли в процессе портирования плагина, я воплощу в ответы в энциклопедии.

"Far... Far never changes..."
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

FarSettingsItem

Post by Shmuel »

montonero wrote: Проблема. Потому что sourceforge, на котором хостится репозиторий, уже несколько дней испытывает серьезные неполадки. А больше у меня гугл ничего не находит.
Ну попросили бы в форуме, вам бы и дали (любой из Far Group).
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

FarSettingsItem

Post by Denis »

Исходники Far'a:
https://github.com/Firebie/FarManager
montonero
Posts: 463
Joined: Wed 25 Jun, 2008 16:55
Has thanked: 3 times
Been thanked: 9 times

FarSettingsItem

Post by montonero »

Shmuel wrote: Ну попросили бы в форуме, вам бы и дали (любой из Far Group)
Да мне бы ответы на вопросы больше подошли... Но раз это вызывает такие затруднения - придется изучить исходники.
Denis wrote: Исходники Far'a:
Спасибо.
"Far... Far never changes..."
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

FarSettingsItem

Post by Denis »

Бранч master был немного устаревший. Проапдейтил до актуальной версии.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

FarSettingsItem

Post by John Doe »

montonero wrote: Все, что я смог найти - нашел.
Так а это выходит не нашли:
montonero wrote: 5. FST_SUBKEY: что будет получено в результате считывания такого типа? А записать с таким типом что/как можно?
montonero wrote: Я, наверное, что-то не понимаю, но я не вижу в вашем ответе ничего кроме обсуждения неточности описания
Ответ был: ни get ни set не имеют смысла для FST_SUBKEY (функция по идее должна вернуть NULL).
Если покопаться в changelog то можно выяснить, что так было не всегда.
montonero
Posts: 463
Joined: Wed 25 Jun, 2008 16:55
Has thanked: 3 times
Been thanked: 9 times

FarSettingsItem

Post by montonero »

John Doe wrote: Ответ был: ни get ни set не имеют смысла для FST_SUBKEY
Не хочу буквоедствовать, но ответ был "По идее чтение/запись его не имеют смысла", что можно расценить только как предположение. После ознакомления с исходниками, я убедился, что ваше предположение верно.

"Far... Far never changes..."
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

FarSettingsItem

Post by John Doe »

montonero wrote: возникает вопрос, зачем такой тип описан в документации, если он просто игнорируется..
John Doe wrote: Если покопаться в changelog то можно выяснить, что так было не всегда.
Код изменился. Документацию не поправили. Ничего удивительного.
Post Reply

Return to “Разработка плагинов”