Получение пользовательских данных (UserData) DlgItem-а

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

Получение пользовательских данных (UserData) DlgItem-а

Post by buniak_a_h »

Извините за назойливость. Опять вопрос по диалогу.
В структуре описания диалогового итема есть поле UserData. Цитирую по энциклопедии:
UserData
Значение, связанное с элементом диалога. Данные можно получить с помощью DM_GETITEMDATA.
Но в программе обработки событий диалога я вместо указанных данных получаю 0.


Внимание, вопрос! Что я делаю не так?
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Получение пользовательских данных (UserData) DlgItem-а

Post by Shmuel »

Перечитайте описание tFarDialogItem в мануале LuaFAR.
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

Получение пользовательских данных (UserData) DlgItem-а

Post by buniak_a_h »

Shmuel wrote: Sun 23 Jul, 2017 06:43Перечитайте описание tFarDialogItem в мануале LuaFAR.
Спасибо. Видимо, очередной конфликт разных описаний.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Получение пользовательских данных (UserData) DlgItem-а

Post by citRiks »

buniak_a_h, Так шо там, получается в UserData можна тока целочисленное число писать, или .. ?
посиба
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Получение пользовательских данных (UserData) DlgItem-а

Post by citRiks »

Читал тута, и мало чиго понял про указатили:
https://api.farmanager.com/ru/structure ... gitem.html
https://api.farmanager.com/ru/dialogapi ... mdata.html
FAR API wrote:Менеджер Диалогов возвращает указатель на ранее переданные данные плагином (или 0, если плагин не ассоциировал данные с этим элементом диалога).
T.e., непонятно, происходит ли "ассоциация данных с диалогом",
когда мы делаем элемент такой скажем (из примера выше):
{ F.DI_BUTTON, 25, 3, 25, 3, 0, 0, 0, 0, "Blah-blah-blah", 0, 'UserData' }
?
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Получение пользовательских данных (UserData) DlgItem-а

Post by Shmuel »

'Userdata' и 'DM_GETITEMDATA' фактически не реализованы в LuaFAR по причине того, что каждый элемент диалога это таблица, и (в отличие от Си-интерфейса) в неё можно напихать сколько угодно дополнительных данных. В обработчике диалога по Param1 можно получить эту таблицу со всеми её дополнительными данными.
Last edited by Shmuel on Fri 23 Apr, 2021 14:19, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

Получение пользовательских данных (UserData) DlgItem-а

Post by buniak_a_h »

citRiks, вопрос ещё актуален? После ответа Shmuel-я?
Ну, одним словом - да, число можно. Но для меня это уже неактуально.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Получение пользовательских данных (UserData) DlgItem-а

Post by citRiks »

Shmuel wrote: Fri 23 Apr, 2021 13:48В обработчике диалога по Param1 можно получить эту таблицу со всеми её дополнительными данными.
т.е., реализована для С++ плугинов (а как с другими языками, Паскаль или Питун например?),
но не реализована для LuaFAR ?
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Получение пользовательских данных (UserData) DlgItem-а

Post by citRiks »

buniak_a_h wrote: Fri 23 Apr, 2021 15:45 citRiks, вопрос ещё актуален? После ответа Shmuel-я?
Ну, одним словом - да, число можно. Но для меня это уже неактуально.
Да, буду рад услышать что и как это можно, любое дополнение к ответу выше приветствуется,
тем более что, как видите, вопросы у меня еще остались :)
PS
Перечитал ваш ответ, т.е. число все-таки можно, а не числа нельзя?
Нувопщем, дополнения если есть - то будут интересны и полезны
Last edited by citRiks on Fri 23 Apr, 2021 16:46, edited 1 time in total.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Получение пользовательских данных (UserData) DlgItem-а

Post by Shmuel »

citRiks wrote: Fri 23 Apr, 2021 16:43 т.е., реализована для С++ плугинов (а как с другими языками, Паскаль или Питун например?),
но не реализована для LuaFAR ?
Паскаль - не вникал
Питон - разве уже есть возможность писать диалоги Фара на Питоне?
LuaFAR - не реализовано, потому что без надобности
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

Получение пользовательских данных (UserData) DlgItem-а

Post by buniak_a_h »

citRiks wrote: Fri 23 Apr, 2021 16:44 число все-таки можно, а не числа нельзя?
Не числа мне не удалось передать. Может, я недостаточно хорошо знаю LUA, но я не нашёл механизма "превращения" integer->pointer так, чтобы с переданным числом можно было бы оперировать как с данными любого типа.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Получение пользовательских данных (UserData) DlgItem-а

Post by citRiks »

Shmuel wrote: Fri 23 Apr, 2021 16:50Питон - разве уже есть возможность писать диалоги Фара на Питоне?
Я про это не знал, хоть и все время собираюсь начать писать на Питоне
Shmuel wrote: Fri 23 Apr, 2021 16:50LuaFAR - не реализовано, потому что без надобности
Эммм.. не мне судить со стороны, вместе с тем я бы переформулировал так:
"универсальная разноязыкость АПИ это хорошо, но есть более важные приоритеты"
Я когда программил всякое, поле для какой-либо потребной метаинформации "Custom/UserData" очень часто было полезным
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Получение пользовательских данных (UserData) DlgItem-а

Post by Shmuel »

citRiks wrote: Fri 23 Apr, 2021 17:23 Я когда программил всякое, поле для какой-либо потребной метаинформации "Custom/UserData" очень часто было полезным
Ну я же выше написал, как это делается...
Берёте и добавляете свои кастомные поля в таблицу элемента диалога.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Получение пользовательских данных (UserData) DlgItem-а

Post by John Doe »

citRiks wrote: Fri 23 Apr, 2021 17:23 Я про это не знал, хоть и все время собираюсь начать писать на Питоне
А питоновый адаптер разве не позволяет плагины с диалогами писать?
https://t.me/FarManager — Telegram чат
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Получение пользовательских данных (UserData) DlgItem-а

Post by citRiks »

Shmuel wrote: Fri 23 Apr, 2021 17:34
citRiks wrote: Fri 23 Apr, 2021 17:23 Я когда программил всякое, поле для какой-либо потребной метаинформации "Custom/UserData" очень часто было полезным
Ну я же выше написал, как это делается...
Берёте и добавляете свои кастомные поля в таблицу элемента диалога.
да, сейчас понял что упустил смысл вами сказанного,
теперь кажется что догадываюсь о чем речь,
но надо поэкспериментировать с этим чтобы проверить правильность понимания,
чуть позжее сегодня отпишусь, спасибо.
Post Reply

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