Вниз
Скачать: 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.009 c
3-12230
VStinger
2004-02-09 14:14
2004.03.05
Клиент ORACLE


7-12546
Shurik_212
2003-12-17 14:37
2004.03.05
Как узнать, что винда заблокирована?


1-12317
RomCom
2004-02-21 07:05
2004.03.05
RichEdit и OEM_CHARSET


1-12322
Lena19
2004-02-22 21:35
2004.03.05
как убить объект (самого себя)


14-12487
syte_ser78
2004-02-12 10:17
2004.03.05
Загрузка процессора




   Наверх