Перенос макросов из Far2l в Far3

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
Post Reply
gotar
Posts: 420
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 17 times
Been thanked: 3 times

Перенос макросов из Far2l в Far3

Post by gotar »

Попытался перенести макросы из Far2l в Far3. Как меня и предупреждали, сходу у меня ничего не получилось. Может кто подскажет есть ли аналог таблицы actl в Far3?

Last edited by HaRT on Fri 08 Jul, 2022 12:49, edited 4 times in total.
Reason: Добавлена ссылка на тему с более общим обсуждением
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Перенос макросов из Far2l в Far3

Post by Shmuel »

gotar, поскольку все эти макросы были исходно для Far3 (и они есть у меня), вы укажите которые макросы вас интересуют, и я положу вам в личку.

Насчёт таблицы actl - она сделана в дополнение к оригинальному интерфейсу, исключительно для большей выразительности кода, но оригинальный интерфейс сохранён. То есть пользоваться этой таблицей не обязательно. А идея такая:
Оригинально: far.AdvControl("ACTL_REDRAWALL")
Альтернативно: actl.RedrawAll()
gotar
Posts: 420
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 17 times
Been thanked: 3 times

Перенос макросов из Far2l в Far3

Post by gotar »

Я не очень понял: AdvControl есть и в far3, константы те же самые, т.е таблицу actl для Fa3 сделать можно. Если сделать такую таблицу, переносить макросы из far2l будет проще. Может быть Вы подскажете, какой файл из far2l нужно взять что бы сделать эту таблицу в Far3.

Добавлено:

Посмотрел на исходники. Похоже что эта таблица определена в service.c. К сожалению, файл с таким же именем есть и в far3 и скрестить эти два файла может оказаться нетривиальной задачей. Остается надеяться, что Шмуэль вернется Far Team и доведет luafar до того же состояния, которое есть в far2l.
Last edited by gotar on Mon 23 May, 2022 21:55, edited 1 time in total.
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Перенос макросов из Far2l в Far3

Post by Shmuel »

gotar, там сделано на Си, но это можно сделать и на Lua:

Code: Select all

local adv = far.AdvControl

_G.actl = {
  EjectMedia = function(...) return adv("ACTL_EJECTMEDIA", ...) end;
  RedrawAll  = function(...) return adv("ACTL_REDRAWALL", ...)  end;
  -- добавить все остальные
}
gotar
Posts: 420
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 17 times
Been thanked: 3 times

Перенос макросов из Far2l в Far3

Post by gotar »

Я себе такой файл конечно сделаю, но может быть Вы подготовите patch для Фара, чтобы все могли им пользоваться?
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Перенос макросов из Far2l в Far3

Post by Shmuel »

gotar, есть Far Group, и они вполне способны решить, нужна та или иная фича, или нет. Если понадобится, они ко мне обратятся.
gotar
Posts: 420
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 17 times
Been thanked: 3 times

Перенос макросов из Far2l в Far3

Post by gotar »

А какие аналоги ACTL_SYNCHRO,ACTL_GETFARMANAGERVERSION,ACTL_GETWINDOWTYPE в far2l?
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Перенос макросов из Far2l в Far3

Post by Shmuel »

ACTL_SYNCHRO - аналога нет, но этим и в Фар3 никто не пользуется
ACTL_GETFARMANAGERVERSION - ACTL_GETFARVERSION
ACTL_GETWINDOWTYPE - ACTL_GETSHORTWINDOWINFO
gotar
Posts: 420
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 17 times
Been thanked: 3 times

Перенос макросов из Far2l в Far3

Post by gotar »

В far2l есть много ACTL которых нет far3. Они реально используются? Может у кого-нибудь есть реализация этих ACTL средствами Far3? Список недостающих ACTL:
ACTL_GETSYSTEMSETTINGS
ACTL_GETSYSWORDDIV
ACTL_EJECTMEDIA
ACTL_GETCONFIRMATIONS
ACTL_GETDESCSETTINGS
ACTL_GETDIALOGSETTINGS
ACTL_GETINTERFACESETTINGS
ACTL_GETPANELSETTINGS
ACTL_GETPLUGINMAXREADDATA
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Перенос макросов из Far2l в Far3

Post by Shmuel »

gotar, меня в настоящий период времени очень мало заботит Far3. Вопросами совместимости я занимаюсь, но они сейчас не первоочередные. Должно пройти ещё время, когда можно будет этим заняться.
Post Reply

Return to “Нужна помощь”