Даешь каждому OLE объекту в TOleContainer свой процесс!
От: Ivy  
Дата: 21.06.07 14:01
Оценка:
Доброго всем времени суток!

Подскажите, пожалуйста, как решить проблему, того, что в Delphi в TOleContainer при создании объекта Excel.Sheet, используется уже имеющийся процесс Excel,поэтому зависаеют екселевские документы, с которыми пользователь работал, до старта моей программы

Получается, что теперь нужно тробовать пользователя закрыть все приложения Excel перед запуском своей прогораммы? TOleContainer в програме ну очень нужен.
Помогите, может кто-то сталкивался с такой проблемой.
Re: Даешь каждому OLE объекту в TOleContainer свой процесс!
От: Аноним  
Дата: 21.06.07 17:57
Оценка:
Здравствуйте, Ivy, Вы писали:

Ivy>Доброго всем времени суток!


Ivy>Подскажите, пожалуйста, как решить проблему, того, что в Delphi в TOleContainer при создании объекта Excel.Sheet, используется уже имеющийся процесс Excel,поэтому зависаеют екселевские документы, с которыми пользователь работал, до старта моей программы


Ivy> Получается, что теперь нужно тробовать пользователя закрыть все приложения Excel перед запуском своей прогораммы? TOleContainer в програме ну очень нужен.

Ivy>Помогите, может кто-то сталкивался с такой проблемой.

Создавать Excel.Applicaion (или Excel.Document, не помню точно), а в нем уже — делать Excel.Sheet (через метод Add)
Re[2]: Даешь каждому OLE объекту в TOleContainer свой процес
От: Ivy  
Дата: 22.06.07 06:37
Оценка:
Спасибо за ответ, действительно в этом случае OleContainer создает новый процесс, но у меня не получается заставить отображаться Excel в контейнере
OleContainer.DoVerb(ovShow) — выдает исключение, так как список ObjectVerbs пуст.
Пожалуйста, посмотрите, как это делали вы?

var Excel,WB:Variant;
begin
Excel := OleContainer.CreateObject('Excel.Application',false),
WB := Excel.Workbooks.Add;
// тут нужно отобразить содержимое контейнера

end;
Re[3]: Даешь каждому OLE объекту в TOleContainer свой процес
От: Аноним  
Дата: 27.06.07 13:55
Оценка:
Здравствуйте, Ivy, Вы писали:

Ivy>Спасибо за ответ, действительно в этом случае OleContainer создает новый процесс, но у меня не получается заставить отображаться Excel в контейнере

Ivy>OleContainer.DoVerb(ovShow) — выдает исключение, так как список ObjectVerbs пуст.
Ivy>Пожалуйста, посмотрите, как это делали вы?

Ivy>var Excel,WB:Variant;

Ivy>begin
Ivy>Excel := OleContainer.CreateObject('Excel.Application',false),
Ivy>WB := Excel.Workbooks.Add;
Ivy>// тут нужно отобразить содержимое контейнера

Ivy>end;


Надо еще sheet в этой workbook создать
Re[4]: Даешь каждому OLE объекту в TOleContainer свой процес
От: Ivy  
Дата: 05.07.07 07:46
Оценка:
Попробывала, не помогает
по Excel.Visible — эксель открывается в новом окне, а мне нужно, чтобы открывалось в контейнере
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.