Latest post of the previous page:
Есть предложение, добавить в ExitFARW параметр, по которому плагин мог бы понять: его просто выгружают, или это действительно завершение работы фара.глобальный слом апи.
Re: глобальный слом апи.
1. Чтобы было. Апи ломаем? Ломаем, почему не отдать информацию плагину?
2. Реальная ситуация - глюки с SynchroApi. Если плагин будет знать, что фар сейчас и так закроется, и ему уже "трава не расти" - можно и не дергаться.
Понятно, что хорошо бы сам фар все-таки починить, но информация может быть полезной и в других ситуациях.
К примеру, в WM_QUERYENDSESSION и даже в HandlerRoutine параметр есть. Microsoft не жадничает.
2. Реальная ситуация - глюки с SynchroApi. Если плагин будет знать, что фар сейчас и так закроется, и ему уже "трава не расти" - можно и не дергаться.
Понятно, что хорошо бы сам фар все-таки починить, но информация может быть полезной и в других ситуациях.
К примеру, в WM_QUERYENDSESSION и даже в HandlerRoutine параметр есть. Microsoft не жадничает.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Re: глобальный слом апи.
1. "Чтобы было" - не аргумент.
2. Глюки починим.
Но да, не исключено, что аргументы таки со временем найдутся. Поэтому, дабы не ломать api потом, сейчас добавим void* Reserved, а там видно будет.
2. Глюки починим.
Но да, не исключено, что аргументы таки со временем найдутся. Поэтому, дабы не ломать api потом, сейчас добавим void* Reserved, а там видно будет.
- t-rex
- Страшный и ужасный
- Posts: 4910
- Joined: Tue 15 Mar, 2005 16:17
- Location: Tel-Aviv
- Has thanked: 1 time
- Been thanked: 8 times
- Contact:
Re: глобальный слом апи.
не надо никакой void, у нас же теперь структуры. вот просто пустую структуру только с structsize
- uncle-vunkis
- Posts: 72
- Joined: Thu 11 Jun, 2009 15:16
- Been thanked: 1 time
Re: глобальный слом апи.
Подскажите, пожалуйста, по функции GetGlobalInfoW(). При заполнении строковых полей в GlobalInfo (Title, Description, Author) их нужно всегда указывать только на английском языке? Т.е. не будет для них поддержки мультиязычности через .lng? Ведь языковой API в виде PluginStartupInfo::GetMsg() на этом этапе ещё недоступен... (как вариант: можно было бы альтернативно задавать там 'lng-message-id' вместо/кроме текстовых строк?)
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Re: глобальный слом апи.
Относитесь к этой структуре как к приблизительному аналогу versioninfo windows.
Данные должны кратко и однозначно характеризовать плагин.
Их предназначение скорее сервисное, чем пользовательское, и в будущем они, вероятно, будут использоваться не только фаром, поэтому локализация не предусматривается, да.
Данные должны кратко и однозначно характеризовать плагин.
Их предназначение скорее сервисное, чем пользовательское, и в будущем они, вероятно, будут использоваться не только фаром, поэтому локализация не предусматривается, да.
Re: глобальный слом апи.
Вернемся к нашим баранам - ExitFarW то есть. Разве где-то написано, что в этой функции плагин НЕ может делать? Например, выполнять какие-то длительные операции, или вообще спросить о чем-то пользователя?
Так вот, обычная выгрузка плагина (скажем, через unload:!.!) и выгрузка при закрытии окна фара крестиком или вообще при Windows reboot/shutdown очевидно различаются. Если в первом случае - длительные операции допустимы, то во втором - очевидно нет.
Так вот, обычная выгрузка плагина (скажем, через unload:!.!) и выгрузка при закрытии окна фара крестиком или вообще при Windows reboot/shutdown очевидно различаются. Если в первом случае - длительные операции допустимы, то во втором - очевидно нет.
- zg
- zero-gravity
- Posts: 6038
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: глобальный слом апи.
тут помниться просили гуиды для меню и мессаг. по причине замусоренности темы искать желания нет, кому надо — проверяйте, билд 2105.
- Alexey Samlyukov
- Posts: 1765
- Joined: Tue 15 Mar, 2005 17:28
- Been thanked: 7 times
- Contact:
Re: глобальный слом апи.
>меню теперь тоже могут иметь уникальный гуид.
Могут? Скорее всего - обязаны. Гуиды не должны быть уникальные? можно какой-нибудь один Menu или MsgGuid сгинерить и передавать его везде? Как в писании указывать?
И раз уж такая пьянка, то в инпутбокс тож гуид нужен.
добавка:
а как теперь быть с MacroSendMacroText.AKey, тут, как я понимаю, не VK-коды же?
как теперь переписать это?
upd.
Портировал плаги на 2105. в т.ч. и PicView Advanced, передаю VK-клавиши, вроде работают макросы, странно
Могут? Скорее всего - обязаны. Гуиды не должны быть уникальные? можно какой-нибудь один Menu или MsgGuid сгинерить и передавать его везде? Как в писании указывать?
И раз уж такая пьянка, то в инпутбокс тож гуид нужен.
добавка:
а как теперь быть с MacroSendMacroText.AKey, тут, как я понимаю, не VK-коды же?
как теперь переписать это?
upd.
Портировал плаги на 2105. в т.ч. и PicView Advanced, передаю VK-клавиши, вроде работают макросы, странно
- zg
- zero-gravity
- Posts: 6038
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: глобальный слом апи.
ну для плагинов, да. а в фаре, как пойдётAlexey Samlyukov wrote:>меню теперь тоже могут иметь уникальный гуид.
Могут? Скорее всего - обязаны.
ну да, иначе смысл?Гуиды не должны быть уникальные?
наплодили апи. честно даже не помнил, что есть такое.И раз уж такая пьянка, то в инпутбокс тож гуид нужен.
поправил.а как теперь быть с MacroSendMacroText.AKey, тут, как я понимаю, не VK-коды же?
- Alexey Samlyukov
- Posts: 1765
- Joined: Tue 15 Mar, 2005 17:28
- Been thanked: 7 times
- Contact:
-
- Posts: 1332
- Joined: Mon 04 Apr, 2005 13:41
- Location: San Ramon, CA / Kharkov, UA
- Has thanked: 32 times
- Been thanked: 62 times
Re: глобальный слом апи.
Может тогда уже слить farcolor.hpp и plugin.hpp? Все равно farcolor.hpp смысла не имеет без основного АПИ.
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
- Alexey Samlyukov
- Posts: 1765
- Joined: Tue 15 Mar, 2005 17:28
- Been thanked: 7 times
- Contact:
Re: глобальный слом апи.
хотелось бы увидеть в первом топике http://forum.farmanager.com/viewtopic.p ... 719#p77719
Re: глобальный слом апи.
Вопрос. смысл поля PanelInfo.StructSize, если фар:
1. его игнорирует (FCTL_GETPANELINFO)
2. его не заполняет.
Вообще-то, если уж плагин передает (а это нужно требовать, видимо) размер структуры, то фар как минимум не должен обнулять память свер этого размера.
1. его игнорирует (FCTL_GETPANELINFO)
2. его не заполняет.
Вообще-то, если уж плагин передает (а это нужно требовать, видимо) размер структуры, то фар как минимум не должен обнулять память свер этого размера.