![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Позднее связывание [D7, Win2k]
WebErr © (2004-10-13 13:25:00)Чем оно лучше раннего связывания?
Я имею в виду ExcelApplication.
jack128 (2004-10-13 14:20:00) [21]WebErr © (13.10.04 13:38) [3]
в чём существенные отличия при написании кода
тем, что при раннем связовании доступен Code Insight, а при раннем нет. Тем, что при позднем связовании ты можешь указывать только те параметры медов, которые те нужны, а при позднем - обязан указать ВСЕ парамеры(а их может быть ОЧЕНЬ много)
WebErr (2004-10-13 13:58:00) [22]Кое-что нашёл на seeYou.narod.ru, кому интересно - выкладываю:
uses comobj; //эта строка должна присутствовать обязательно
procedure TForm1.Button1Click(Sender: TObject);
var
exl: OleVariant;
WorkBook, Sheet: Variant;
fileName: String;
begin
try
//Получаем имя для будующего Excel-файла
fileName:= ExtractFilePath(Application.EXEName)+'Sample1.xls';
//Создаем объект интерфейса для доступа к серверу COM
exl := CreateOleObject('Excel.Application');
//Создаем книгу и обращаемся к первому листу
WorkBook := exl.Application.WorkBooks.Add;
Sheet := WorkBook.WorkSheets[1];
//Записываем в первую ячейку значение "Проба"
Sheet.Cells(1,1) := 'Проба';
//Сохраняем полученный файл
exl.Application.ActiveWorkBook.Saveas(fileName);
finally
//Выгружаем сервер из памяти компьютера
exl.Application.Quit;
end;
end;
WebErr (2004-10-13 13:38:00) [23]А используются, насколько я понял, одинаково.
Только в позднем создание объекта - это CreateOLEObject('ExcelApplication').
В общем, вкратце, в чём существенные отличия при написании кода?
Amoeba (2004-10-13 13:34:00) [24]Только тем, что не требуется библиотека типов (компонент является лишь оберткой над ней). А хуже тем, что быстродействие получается очень существенно более низким.
Skier (2004-10-13 13:32:00) [25]>WebErr © (13.10.04 13:25)
> Чем оно лучше раннего связывания?
Можно писать всё что угодно, бо методы ищутся по имени...