Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.05;
Скачать: CL | DM;

Вниз

может ли 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
3-12253
tytus
2004-02-09 13:31
2004.03.05
ВМР в DBGrid


3-12276
Unknown
2004-02-08 12:18
2004.03.05
База данных без BDE?


1-12436
Alexey
2004-02-23 12:55
2004.03.05
Как узнать содержимое папки?


3-12259
sohat
2004-02-09 10:44
2004.03.05
TClientDataSet. Как редактировать


14-12535
syte_ser78
2004-02-12 11:35
2004.03.05
Определение даты