Заказ звонка

Закрыть

*
*
*

Ошибка при использовании COM объекта

Страницы: 1
RSS
Ошибка при использовании COM объекта
Здравствуйте.
Пытаюсь использовать COM объект из-под Visual C# и Visual C++. В обоих случаях создаю простую форму с двумя кнопками. У первой кнопки событие Click создает COM объект TCS и логинится, сохраняя Tcs_Application в поле класса Form. Вторая кнопка берет Archive у Tcs_Application и показывает окно архива.
Вот код на плюсах:
Код
    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
                 CSDN::TCS^ tcs = gcnew CSDN::TCS();
                 tcsApp = tcs->Login();
             }

    private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
                 CSDN::Archive^ arch = this->tcsApp->Archive;
                 int i = arch->ShowModal[""];                 
             }
    };

Логинится хорошо, но архив показывает только 1 раз (хотя иногда может и больше). Т.е. на втором вызове свойства Archive у Tcs_Application летит Runtime Exception на строке CSDN::Archive^ arch = this->tcsApp->Archive;
Вот сообщение об ошибке:
Код
See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Runtime.InteropServices.COMException (0x8000FFFF): Object is no longer valid
   at CSDN.Tcs_ApplicationClass.get_Archive()
   at arch_test.Form1.button2_Click(Object sender, EventArgs e) in form1.h:line 107 

Такая же ошибка возникает и в Visual C#, а вот на Visual Basic 6.0 при аналогичных действиях проблем нет, архив показывается на всех вызовах.

В общем подскажите, в чем может быть ошибка.
Цитата
Рассолов Михаил пишет:
В общем подскажите, в чем может быть ошибка.
tcs объявлена локально
Страницы: 1
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)