Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: TOleContainer - глюки?  (Прочитано 13120 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Orc
Гость
« : 04-01-2006 17:04 » 

Вкратце:
Есть документ word(*.doc), есть форма с сепараторами(что-то вроде фреймов получилось).
В одном из фреймов лежит OleContainer.
Гружу в него данный документ.
И понеслась:
1)Появляются тулбары из word(прибить получается через раз...)
2)При изменении размера фрейма размер контейнера не меняется(хотя я Align поставил client) - т.е. видна рамка - внутри открытый документ - вокруг серый фон(как будто контейнер не запущен)
3)В итоге пропадают тулбары и в самом ворде, хотя я при закрытии формы их восстанавливаю.
  Как все это дело поправить?  :huh:
  Заранее признателен всем ответившим...
  PS: Вся эта кухня работает из DLL - плугин к Outlook - и, возможно, "считает себя его частью".
Записан
atavin-ta
Гость
« Ответ #1 : 28-09-2009 05:07 » 

А у меня другие глюки. Не могу создать объект на основе файл Rep.doc.
Код Borland Visual C++ 6.0 Enterprize:
OleContainer1->CreateObjectFromFile("Rep.doc",false);
Сообщение:
Project Project1.exe raised exception class EOLe SysError with message 'OLE error 80030002'. Process stopped. Use Step to continue.
Как бороться с этим глюком?
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #2 : 28-09-2009 07:36 » 

atavin-ta, http://www.webf1.com/ScriptDoc/AutomationErrors.htm

в вашем случае: -2147287038 (80030002)    %1 could not be found.

попробуйте задавать путь полностью.
Записан

atavin-ta
Гость
« Ответ #3 : 09-10-2009 04:52 » 

Путь относительеный, а файл находится в текущем каталоге, поэтому, хотя в пути только имя файла, но путь указан полностью.
Записан
sss
Специалист

ru
Offline Offline

« Ответ #4 : 09-10-2009 08:47 » 

atavin-ta, т.е. пофигу на все, да?
Записан

while (8==8)
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #5 : 09-10-2009 20:37 » 

atavin-ta, excel - это сом-объект. как вы ему задали путь? откуда сервер автоматизации знает, откуда запускается ваша прога, и какие файлы она открывает?

попробуйте указать путь полностью. не получится - код в студию и дословное сообщение об ошибке.
Записан

atavin-ta
Гость
« Ответ #6 : 12-10-2009 03:26 » 

Код я уже привёл. И сообщение тоже. Файлы Rep.bmp, Rep.doc и сама прога находятся в одном каталоге. Никакие операции, приводящие к смене катлога, не выполнялись. Замена OleContainer1->CreateObjectFromFile("Rep.doc",false); на TImage->Pictre->Bitmap->LoadFromFile("Rep.bmp"); приводит к положительному результату (но в TImage), а на OleContainer1->CreateObjectFromFile("Rep.bmp",false); не работает. Почему? Если путь надо передать в сервер, то как указать относительный от своего каталога, а не от каталога толи сервера, толи "мои документы", куда, судя по последнему ответу, смотрит сервер, получив относительынй путь? Мне наддо "скормить" контейнеру именно относительный путь, а не абсолютный. Если это нельзя сделать явно, то как мне исхитриться и сначало преобразовать относительный путь в полный абсолюттный?
Записан
zubr
Гость
« Ответ #7 : 12-10-2009 06:28 » 

Application.ExeName или ParamStr(0) или GetCurrentDir
Записан
atavin-ta
Гость
« Ответ #8 : 13-10-2009 07:30 » new

Спасибо. Именно это я и хотел.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines