Форум: "Прочее";
Текущий архив: 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.042 c