Использование одной Com компоненты в 2 разных формах

  • Автор темы vladislav888
  • Дата начала
Статус
Закрыто для дальнейших ответов.
V

vladislav888

#1
Есть задача: надо инициализировать COM-компонент в одной форме, а использовать в другой. Т.е. при входе в БД надо проинициализировать компоненту(CreateObject) и вызвать ее метод, а в дочерней форме использовать уже созданный объект. Пожалуйста, подскажите варианты решения. Заранее благодарен.
 
S

Sandr

#2
Создать класс, в котором будет инициализироваться COM-компонент, в этом же классе создавать (открывать) дочерний документ...
 
V

vladislav888

#3
Создать класс, в котором будет инициализироваться COM-компонент, в этом же классе создавать (открывать) дочерний документ...
А если докумет не дочерний? Можно ли сделать использование однажды инициализированного компонента внутри другого, не связанного с ним документа БД?
 
R

Ronchik

#4
Для: vladislav888
Я так понял что вам просто нужно передать переменную созданого объекта из одного документа в другой....??
 
S

Sandr

#5
А если докумет не дочерний? Можно ли сделать использование однажды инициализированного компонента внутри другого, не связанного с ним документа БД?
Можно, главное, что бы документ открывался в том же классе, где инициадизирем нужную нам компоненту...
 
V

vladislav888

#6
Для: vladislav888
Я так понял что вам просто нужно передать переменную созданого объекта из одного документа в другой....??
Да. К сожалению, я новичок в лотусе, и не знаю, как это сделать. Я так думаю, здесь есть некоторое тривиальное решение, но я никак не могу понять, какое :(
 
S

Sandr

#7
Для начала узнаем, что вы хотите делать с этим компонентом в другом документе... Когда, на какое событие, вы хотите его использовать там? А потом придумаем что-то :(
 
V

vladislav888

#8
Для начала узнаем, что вы хотите делать с этим компонентом в другом документе... Когда, на какое событие, вы хотите его использовать там? А потом придумаем что-то :(
В другом документе я хочу повесить Action, который по клику будет вызывать этот компонент и вставлять полученные от компонента данные в поле формы. Я уже написал работоспособную версию, которая инициализирует компонент прямо по месту вызова и выполняет требуемые операции, все ОК. Проблема в том, что компонент грузится слишком долго. Т.е. перед его использованием надо его создать, а потом запустить метод Initialize. Этот метод надо запустить только один раз, но он мееедленный.
 
S

Sandr

#9
Так, я кажеться въехал что надо...
Тобишь вы хотите один раз его инициализировать в одном документе. А потом, закрыв этот документ и отвлечься на другие задачи, потом открыть другой документ, а компонента при этом уже должна быть инициализирована? Тоесть один раз на всегда (до закрытия БД) её инициализировать? - не выйдет...

Другое дело, что вам нужно в одном документе инициализиорвать компоненту, а потом из этого документа открыть другой и испорльзовать эту компоненту в нем... так можно...
 

Omh

Lotus team
04.07.2007
2 210
1
#10
Для: Sandr
Я на интертрасте виде способ, храняший COM объект глобально.

Для: vladislav888
Ищи на intertrust'e
 
V

vladislav888

#13
Для: Omh

Аграмадное спасибо! Я еще не все прочитал, но похоже это именно то, что нужно. :) Буду разбираться
 
Статус
Закрыто для дальнейших ответов.