Вниз
Скачать: 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
1-12370
Ivolg
2004-02-25 11:49
2004.03.05
Курсор


1-12392
RUS
2004-02-24 19:32
2004.03.05
Добавление текста в колонтитулы MSWORD


1-12421
VID
2004-02-23 00:42
2004.03.05
Добавление файла в ресурсы


1-12323
Batoon
2004-02-22 20:22
2004.03.05
ListBox


3-12252
}|{yk
2004-02-09 13:22
2004.03.05
Отображение данных глючит




   Наверх