Форум: "Потрепаться";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];
Внизможет ли PHP с OLE объектами работать? Найти похожие ветки
← →
vidiv (2004-02-12 09:03) [0]%Subject%. Если да то как? в частности надо обработать документ Excel
← →
McSimm (2004-02-12 10:54) [1]Может. Например
$obj = new COM("Excel.Application");
$obj->ActiveCell->Value = "test";
print $obj->ActiveCell->Text;
$obj->Release;
← →
vidiv (2004-02-13 12:49) [2]Большое спасибо, только маленький вопросик:
что делает метод Release ?
← →
ПИТОН (2004-02-13 12:57) [3]
> vidiv © (13.02.04 12:49) [2]
> Большое спасибо, только маленький
Освобождает память, выделенную NEW
← →
Style (2004-02-13 13:07) [4]ПИТОН
А на сколько я знаю, что в ООП PHP нет деструктора и нет необходимости освобождать память.
Скорее Release освобождает не память выделенную NEW, а память выделенную под COM объект.
← →
ПИТОН (2004-02-13 13:32) [5]
> Style © (13.02.04 13:07) [4]
А разве
$obj = new COM("Excel.Application");
выделяет память не под СОМ?
← →
Style (2004-02-13 13:49) [6]ПИТОН
Ну как бы условно объяснить пояснить как я думаю:
class COM
{
function COM() - это ее конструктор
{
$Handle = AllocateComObj
здесь какая нить функция которая инициализирует ком объект и получает указатель.
}
function Release()
{
FreeObj($Handle)
}
}
Таким образом
new выделяет память для объекта $obj но не для COM, а
Release освобождает память не $obj объекта, а COM объекта
созданного в $obj.
Это мое предположение, и я могу ошибаться, просто в самом руководстве PHP написано
, что у объектов нет деструкторов.!
Я думаю это можно проверить:
$obj = new COM("Excel.Application");
$obj->ActiveCell->Value = "test";
print $obj->ActiveCell->Text;
$obj->Release;
// поидее объект $obj еще существует, просто можно вызвать конструктор COM объекта заново.
$obj->COM("Excel.Application");
$obj->ActiveCell->Value = "test";
print $obj->ActiveCell->Text;
$obj->Release;
← →
ПИТОН (2004-02-13 13:57) [7]
> Style © (13.02.04 13:49) [6]
Согласен.
← →
kaif (2004-02-13 18:23) [8]Такой вопрос. Excel в этом случае ведь на хосте работает. То есть хостер должен быть виндовый, видимо? И иметь установленный там MS Office. Или речь идет о каком-то локальном применении PHP?
← →
McSimm (2004-02-13 18:32) [9]
> хостер должен быть виндовый, видимо? И иметь установленный
> там MS Office.
Разумеется.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c