Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.07.06;
Скачать: [xml.tar.bz2];

Вниз

Ф-ция, возвращающая указатель на СОМ-сервер   Найти похожие ветки 

 
TStas ©   (2008-05-20 14:41) [0]

Возвращает его криво и нестабильно. Я писал что-то с экселем, кажется, сетку в него экпортировал, и, почему-то, при попытке создавать СОМ-сервер в ф-ции, возвращающей его, как результат, всё переставало работать.
Вопрос задал, потому что мне и сейчас нужно в Ворд с Экселем данные отправлять. Заметил, что в книжках Ворд и Эксель - почему-то глобальные переменные. Мне это сразу бросалось в глаза и казалось странным, ведь пользователь может закрыть Ворд или Эксель, а тогда всё сглючится. Пробовал передавать указатель на эксель как результат ф-ции, либо совсем переставало работать или, что еще хуже, работало не везде.
Спрашиваю из чистого любопытства: почему так получается? Код привести не могу, т. к. он давным давно стёрт как глючный.


 
Palladin ©   (2008-05-20 14:43) [1]

это у тебя позднее связывание сработало...


 
TStas ©   (2008-05-20 14:50) [2]

Это я понимаю, что позднее, но почему оно сработало так странно?


 
Palladin ©   (2008-05-20 14:52) [3]

не знаю :) я не психолог...


 
Сергей М. ©   (2008-05-20 15:22) [4]


> при попытке создавать СОМ-сервер в ф-ции, возвращающей его,
>  как результат, всё переставало работать


> Код привести не могу, т. к. он давным давно стёрт


Догадываюсь как она выглядела:

function CreateExcelApplicationObject: OleVariant;
begin
 try
   Result := CreateOleObject("Excel.Application");
 except
   Result := "всё перестало работать";
 end;
end;


 
tesseract ©   (2008-05-20 16:12) [5]


> Заметил, что в книжках Ворд и Эксель - почему-то глобальные
> переменные.


В книжках примеры приводят, а не рабочий код.


> Result := CreateOleObject("Excel.Application");


Он же про COM говорит, а не про OLE. Там принято IUknown-ами кидаться.


> Пробовал передавать указатель на эксель как результат ф-
> ции, либо совсем переставало работать или, что еще хуже,
>  работало не везде.


Не "указатель", а "интерфейс".


 
Сергей М. ©   (2008-05-20 16:41) [6]


> tesseract ©   (20.05.08 16:12) [5]


Без разницы.
Excel-сервер в любом случае представлен диспинтерфейсом.


 
TStas ©   (2008-05-20 18:59) [7]

Извините, конечно, ОЛЕ, а не СОМ.


 
Сергей М. ©   (2008-05-20 19:28) [8]


> TStas ©   (20.05.08 18:59) [7]


Следует четко понимать разницу между ними (т.е. технологиями)


 
tesseract ©   (2008-05-20 20:28) [9]


> Следует четко понимать разницу между ними (т.е. технологиями)


IDispatch в приниципе. И вся разница.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2008.07.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.039 c
2-1212990723
Mishenka
2008-06-09 09:52
2008.07.06
Как сделать панель наподобие инспектора объектов в Delphi ?


3-1201699267
Nodnars
2008-01-30 16:21
2008.07.06
Помогите выбрать движок


9-1171566617
vlk32
2007-02-15 22:10
2008.07.06
Есть желающие принять участие в разработке игры?


15-1210089446
Anatoly Podgoretsky
2008-05-06 19:57
2008.07.06
Тестирование NNTP сервера


2-1212920874
ply
2008-06-08 14:27
2008.07.06
где в БД хранить картинки?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский