Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.01 c
14-12509
kaif
2004-02-12 00:02
2004.03.05
---|Ветка была без названия|---


7-12562
BlackTiger
2003-12-17 11:55
2004.03.05
COM2 под Windows98... Где грабли зарыты?


1-12415
BALU1111
2004-02-24 16:22
2004.03.05
Функция Random в DLL


1-12355
DimonNew
2004-02-13 14:13
2004.03.05
word


7-12558
don
2003-12-16 10:32
2004.03.05
Печать пакета документов




   Наверх