Как получить выделенный в Embedded View документ по кнопке на форме?

  • Автор темы Автор темы susinmn
  • Дата начала Дата начала
Ну и кнопка в документе:
unid:= @Environment( "testUNID" ) ;
@Command( [OpenDocument] ; UNID )

_________________________

unid=""((
 
уже и ключевое слово произнес...

скажу и больше - очереди можно формировать динамически и чекать состояние (причем нужна не одна, но это для "мастеров" :rolleyes: )
 
-таргет-фрэйм может и для др. сгодится
лишняя строчка там никакого вреда не принесет.

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

-что будет в случ. массового применения или хотябы двух форм с использ. одного вью?
а что будет? хоть сто форм. хранить связку "юнид контейнера - юнид документа из вьюхи". вопщем-то не самый сложный аккорд на бубне. задача решаема. причем малой кровью. стандартными документированными средствами. для кучи еще про кроссплатформенность можно упомянуть.
 
turumbay
я говорю о том - что всего этого вообще не нужно (именно в этот бубен бить и изворачиваться)!
и можно обойтись очередями
это штатные объекты, с временем жизни = запущенному апликейшену
надо тока LS заюзать и СиАПИ бридж (и не забыть про др. платформы - кэсов налепить или пометку сделать)
это тоже кроссплатформенно (а ини может быть и залочен к-л)
 
turumbay
я говорю о том - что всего этого вообще не нужно (именно в этот бубен бить и изворачиваться)!
и можно обойтись очередями
это штатные объекты, с временем жизни = запущенному апликейшену
надо тока LS заюзать и СиАПИ бридж (и не забыть про др. платформы - кэсов налепить или пометку сделать)
это тоже кроссплатформенно (а ини может быть и залочен к-л)
"Обойтись очередями" наверняка можно. Есть небольшое количество гуру, которым доступно это тайное знание. Остальные ( и я в их числе ) полезут в эти дебри только когда совсем прижмет. Ведь проще тупо сделать без очередей. И "тупо сделать" в данном случае не синоним граблехождения.
P/S/ Усложнять - просто. Упрощать - сложно. (с) Мейер
 
по ссылке - уже всё написано
нужно тока заюзать...
дать в очередь UNID из карет, забрать юнид в кнопке и открыть док
UI класс - не нужен

вот не удивлюсь, ежели теже усеры будут открывать док по дабл-клику или по Энтер
потому как - зачем к кнопке тянуться (надо быть извращенцем) :rolleyes: ?
 
lmike
Я этот код про очереди ещё несколько лет назад видел, всё руки не доходили попробовать.
Вот решил попробовать, наверно туплю по страшному, но чёт у меня не срослось.

На форме 2 кнопки:

Кнопка "Set":
Код:
Dim MQ As New NotesMessageQueue("ID")
MQ.Message = "Test"
Кнопка "Get":
Код:
Dim MQ As New NotesMessageQueue("ID")
Messagebox(MQ.Message)
На get'е выкидывает ошибку
MQGet:ID::Message Queue is empty.
Вай?
 
дак тыж её обнулил в New :rolleyes:

инициализируй в форме
 
Хм, я полагал, что при одинаковом ID очереди конструктор не обнулит её, а откроет...
Как, например, мне тогда передать данные между двумя совершенно разными формами?

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

При необходимости очередь инициализировать на уровне формы чем она тогда отличается от обычной глобальной переменной?
"сними ручник" :rolleyes:
ты можешь её где угодно инициализировать, но не дваже раза ;)
ты два раза New делаешь - зачем?
New не убивает сущ. очередь - он её сбрасывает (вру - не сбрасывает, просто ругаецо), и автоклозе - отмени (объект дестроится - очедедь убивается)
класс маленький - тыб посмотрел его чтоль ;)
 
Туплю наверно.
Попробую показать на пальцах, что хочу:

Есть 2 формы, на одной кнопка "set", на другой кнопка "get".
Где мне инициализировать очередь, что бы это чудо работало.
Если только под кнопкой "set", то как потом получить её под кнопкой "get"?
Я что-то не вижу метода "получть очередь по id".
 
NotesMessageQueue это кастомный класс? И где он собственно очередь хранит?
 
Туплю наверно.
Попробую показать на пальцах, что хочу:

Есть 2 формы, на одной кнопка "set", на другой кнопка "get".
Где мне инициализировать очередь, что бы это чудо работало.
Если только под кнопкой "set", то как потом получить её под кнопкой "get"?
Я что-то не вижу метода "получть очередь по id".
где хошь
тока AutoClose=False после New сделай у объекта

NotesMessageQueue это кастомный класс? И где он собственно очередь хранит?
ну прочитайте же внимательно по ссылке :rolleyes:
 
lmike
Ну вот, с автоклосом всё заработало.
Сенк.
Подумаю, куда можно эту штуку приспособить.

Вообще, конечно, похоже на передачу параметров через env/профили, тока без засирания.
И можно передавать сразу столько данных, сколько надо.

Забавная штука!
Зачёт!
 
нельзя передавать скока хошь - 240 байт

и еще оговорюсь, для джава - нет необходимости пользовать СиАПИ, там уже есть класс для очередей...


тока ему финализацию надо "зарубить" (иначе он очередь закрывает)
 
Да, да, я знаю что там ограницение на длину сообщения.
Но сообщений-то можно передавать сколько влезет.
 
Ребята, что то не догоняю...
Забил 2 класса в библиотеку "General", во вью и в форме(Use "General")
1. Как из вью мне по Target Frame (single click) передать форму+unid?
2. Как в форме мне прочитать эту информацию по кнопке+по закрытию документа (который с Embedded View) обнулять информацию?
 
ну сказал же - как действовать:
-во вью получать карет-ид (читать девел. хэлп типа caretID)

но вытаить надо UIND (из дока) - хотя вру, можно и так (из БД можно по ИД вытащить)
-сувать в очередь (AutoClose=False), соотв. юнид
-в кнопке - брать из очереди
-воркспейс - EditDocument(...uid)

2 - по выходу открыть кью (классом, без AutoClose=True), при дестрое оно само очередь удалит
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!