глобальный слом апи.

Разработка Far.
Maximus5
Posts: 3294
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 7 times
Contact:

Re: глобальный слом апи.

Post by Maximus5 »

Latest post of the previous page:

Есть предложение, добавить в ExitFARW параметр, по которому плагин мог бы понять: его просто выгружают, или это действительно завершение работы фара.
User avatar
DrKnS
Posts: 5810
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 10 times
Been thanked: 345 times

Re: глобальный слом апи.

Post by DrKnS »

Цель?
Maximus5
Posts: 3294
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 7 times
Contact:

Re: глобальный слом апи.

Post by Maximus5 »

1. Чтобы было. Апи ломаем? Ломаем, почему не отдать информацию плагину?
2. Реальная ситуация - глюки с SynchroApi. Если плагин будет знать, что фар сейчас и так закроется, и ему уже "трава не расти" - можно и не дергаться.

Понятно, что хорошо бы сам фар все-таки починить, но информация может быть полезной и в других ситуациях.

К примеру, в WM_QUERYENDSESSION и даже в HandlerRoutine параметр есть. Microsoft не жадничает.
User avatar
DrKnS
Posts: 5810
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 10 times
Been thanked: 345 times

Re: глобальный слом апи.

Post by DrKnS »

1. "Чтобы было" - не аргумент.
2. Глюки починим.

Но да, не исключено, что аргументы таки со временем найдутся. Поэтому, дабы не ломать api потом, сейчас добавим void* Reserved, а там видно будет.
User avatar
t-rex
Страшный и ужасный
Posts: 4907
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 6 times
Contact:

Re: глобальный слом апи.

Post by t-rex »

не надо никакой void, у нас же теперь структуры. вот просто пустую структуру только с structsize
User avatar
uncle-vunkis
Posts: 72
Joined: Thu 11 Jun, 2009 15:16
Been thanked: 1 time

Re: глобальный слом апи.

Post by uncle-vunkis »

Подскажите, пожалуйста, по функции GetGlobalInfoW(). При заполнении строковых полей в GlobalInfo (Title, Description, Author) их нужно всегда указывать только на английском языке? Т.е. не будет для них поддержки мультиязычности через .lng? Ведь языковой API в виде PluginStartupInfo::GetMsg() на этом этапе ещё недоступен... (как вариант: можно было бы альтернативно задавать там 'lng-message-id' вместо/кроме текстовых строк?)
User avatar
DrKnS
Posts: 5810
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 10 times
Been thanked: 345 times

Re: глобальный слом апи.

Post by DrKnS »

Относитесь к этой структуре как к приблизительному аналогу versioninfo windows.
Данные должны кратко и однозначно характеризовать плагин.
Их предназначение скорее сервисное, чем пользовательское, и в будущем они, вероятно, будут использоваться не только фаром, поэтому локализация не предусматривается, да.
Maximus5
Posts: 3294
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 7 times
Contact:

Re: глобальный слом апи.

Post by Maximus5 »

Вернемся к нашим баранам - ExitFarW то есть. Разве где-то написано, что в этой функции плагин НЕ может делать? Например, выполнять какие-то длительные операции, или вообще спросить о чем-то пользователя?

Так вот, обычная выгрузка плагина (скажем, через unload:!.!) и выгрузка при закрытии окна фара крестиком или вообще при Windows reboot/shutdown очевидно различаются. Если в первом случае - длительные операции допустимы, то во втором - очевидно нет.
User avatar
zg
zero-gravity
Posts: 5878
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 158 times
Contact:

Re: глобальный слом апи.

Post by zg »

тут помниться просили гуиды для меню и мессаг. по причине замусоренности темы искать желания нет, кому надо — проверяйте, билд 2105.
User avatar
Alexey Samlyukov
Posts: 1764
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 7 times
Contact:

Re: глобальный слом апи.

Post by Alexey Samlyukov »

>меню теперь тоже могут иметь уникальный гуид.
Могут? Скорее всего - обязаны. Гуиды не должны быть уникальные? можно какой-нибудь один Menu или MsgGuid сгинерить и передавать его везде? Как в писании указывать?
И раз уж такая пьянка, то в инпутбокс тож гуид нужен.

добавка:
а как теперь быть с MacroSendMacroText.AKey, тут, как я понимаю, не VK-коды же?
как теперь переписать это?

upd.
Портировал плаги на 2105. в т.ч. и PicView Advanced, передаю VK-клавиши, вроде работают макросы, странно :)
User avatar
zg
zero-gravity
Posts: 5878
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 158 times
Contact:

Re: глобальный слом апи.

Post by zg »

Alexey Samlyukov wrote:>меню теперь тоже могут иметь уникальный гуид.
Могут? Скорее всего - обязаны.
ну для плагинов, да. а в фаре, как пойдёт :)
Гуиды не должны быть уникальные?
ну да, иначе смысл?
И раз уж такая пьянка, то в инпутбокс тож гуид нужен.
наплодили апи. честно даже не помнил, что есть такое.
а как теперь быть с MacroSendMacroText.AKey, тут, как я понимаю, не VK-коды же?
поправил.
User avatar
Alexey Samlyukov
Posts: 1764
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 7 times
Contact:

Re: глобальный слом апи.

Post by Alexey Samlyukov »

портировал на 2107, работает.
Yegor
Posts: 1108
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 18 times
Been thanked: 26 times

Re: глобальный слом апи.

Post by Yegor »

Может тогда уже слить farcolor.hpp и plugin.hpp? Все равно farcolor.hpp смысла не имеет без основного АПИ.
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
User avatar
Alexey Samlyukov
Posts: 1764
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 7 times
Contact:

Re: глобальный слом апи.

Post by Alexey Samlyukov »

хотелось бы увидеть в первом топике http://forum.farmanager.com/viewtopic.p ... 719#p77719
Maximus5
Posts: 3294
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 7 times
Contact:

Re: глобальный слом апи.

Post by Maximus5 »

а почему в GetPluginInfoW фар не передает Info->StructSize?
Maximus5
Posts: 3294
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 7 times
Contact:

Re: глобальный слом апи.

Post by Maximus5 »

Вопрос. смысл поля PanelInfo.StructSize, если фар:
1. его игнорирует (FCTL_GETPANELINFO)
2. его не заполняет.

Вообще-то, если уж плагин передает (а это нужно требовать, видимо) размер структуры, то фар как минимум не должен обнулять память свер этого размера.
Locked

Return to “Development”