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

Тема в разделе "Lotus - Программирование", создана пользователем vladislav888, 25 окт 2007.

Статус темы:
Закрыта.
  1. vladislav888

    vladislav888 Гость

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

    Sandr Гость

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

    vladislav888 Гость

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

    Ronchik Гость

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

    Sandr Гость

    Можно, главное, что бы документ открывался в том же классе, где инициадизирем нужную нам компоненту...
     
  6. vladislav888

    vladislav888 Гость

    Да. К сожалению, я новичок в лотусе, и не знаю, как это сделать. Я так думаю, здесь есть некоторое тривиальное решение, но я никак не могу понять, какое :(
     
  7. Sandr

    Sandr Гость

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

    vladislav888 Гость

    В другом документе я хочу повесить Action, который по клику будет вызывать этот компонент и вставлять полученные от компонента данные в поле формы. Я уже написал работоспособную версию, которая инициализирует компонент прямо по месту вызова и выполняет требуемые операции, все ОК. Проблема в том, что компонент грузится слишком долго. Т.е. перед его использованием надо его создать, а потом запустить метод Initialize. Этот метод надо запустить только один раз, но он мееедленный.
     
  9. Sandr

    Sandr Гость

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

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

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Для: Sandr
    Я на интертрасте виде способ, храняший COM объект глобально.

    Для: vladislav888
    Ищи на intertrust'e
     
  11. Sandr

    Sandr Гость

    И потом ссылочку сюда... на всякий случай :)
     
  12. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
  13. vladislav888

    vladislav888 Гость

    Для: Omh

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

Поделиться этой страницей