Работа с Com

отредактировано 15:42 Раздел: FastReport 4.0
Здравствуйте!
Решил попробовать FastReport в действии, скачал "frstudio", почитал о том, как работать с ком-объектами и свалял вот такой вот код: http://pastebin.com/2KdfDEYR
Отчёт отлично отображается, но при работе метода ShowReport() создаётся какой-то непонятный поток, который мешает закрыться приложению. После "return 0" главный поток суспендится и ждёт завершения всех остальных потоков. Вызов метода Release() перед CoUninitialize() не помог :) Подскажите, пожалуйста, как можно избавиться от нехорошего потока, созданного в ShowReport().

Комментарии

  • отредактировано July 2010
    Ещё вопросик, в классе TFastScript при работе с fastreport3.dll как с COM объектом не нашёл методы AddRTTI и Clear, это так и должно быть? Смотрел этими программами:
    oleview
    OLExp
    И в коде у меня Visual Studio "не видела" этих методов.
  • отредактировано July 2010
    Здравствуйте.
    По первому вопросу. Не могли бы вы выложить здесь весь проект? Было бы намного проще разбираться в проблеме.
  • отредактировано July 2010
    Привел тестовый проект "в порядок". Там реализованы 2 теста: тестовый запуск отчёта, в котором видно при отладке как порождаются новые потоки которые затем не убиваются вызовами pReport->Release и CoUninitialize (последний задвинул в обработчик WM_DESTROY, но эксперименты не дали положительных результатов), а второй - тест TFastScript, которому судя по всему необходимо вызвать метод AddRTTI. Внутри архива прилагаю директорию "Класс" внутри с экспортом из COM объекта, создаваемым Visual Studio 2008.

    Выложил проект на файлообменники:
    В полном варианте [~6.2 МБ] зеркало
    В сокращённом варианте (без fastreport3.dll и Russian.frc) [~131.9 КБ] зеркало
  • отредактировано 15:42
    апаю тему, поскольку необходимо найти ответы на свои вопросы.
  • отредактировано 15:42
    апаю тему, поскольку необходимо найти ответы на свои вопросы.
  • отредактировано 15:42
    апаю тему, поскольку необходимо найти ответы на свои вопросы.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.