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

Вниз

PHP и COM   Найти похожие ветки 

 
lokka ©   (2003-11-12 00:56) [0]

Не уверен с выбором рубрики. Необессудьте :)
Я испытываю серьезные затруднения при использовании COM, написанном мною в Delphi 7, в PHP. COM-библиотека содержит (пока) два объекта: Domain и Domains (коллекция). Когда я вызываю их следующим образом

$domains = new COM("MyLib.Domains");
$domain = $domains->Item(1);
echo $domain->Name;


вылетает стандартное окно ошибки (я на WindowsXP Pro), которое повествует о том, что произошел сбой и предлагает отправить отчет в Microsoft. Текста ошибки там нет.

Методом тыка обнаружилось, что ошибка происходит на строке echo $domain->Name; При аналогичном использовании в ASP все работает замечательно:

set Domains = Server.CreateObject("MyLib.Domains")
set Domain = Domains(1)
Response.Write Domain.Name


Если у объекта "Domain" переименовать свойство "Name" в, скажем, "DomainName", то неожиданно PHP начинает работать. Однако, недолго. Если добавлять новые методы и свойства - они опять не работают. В ASP все раобтает замечательно.

Если реализацию свойства "Name" изменить вот так

function TDomain.Get_Name: WideString;
begin
Debug("Property Works!");
Result := FDomain.DomainName;
end;

т.е., добавить процедуру "Debug", которая, скажем, пишет в лог строковый параметр, то "Debug" не работает. Такое ощущение, что PHP не может найти свойство Name.

Может кто-нибудь сталкивался с подобноыми проблемами? Может в Delphi надо включить/выключить какие-нибудь опции?

Заранее спасибо.


 
Юрий Федоров ©   (2003-11-12 01:02) [1]

dual включен? Библиотека типов зарегистрирована корректно?
Если да да, то дело на на стороне Delphi, имхо
вообще конечно это не тот форум...


 
lokka ©   (2003-11-12 01:11) [2]

Dual включен и зарегистрирована корректно - работате замечательно в ASP.


 
nikkie ©   (2003-11-12 01:27) [3]

странный эффект... а может что-то не в порядке с коллекцией? попробуй сделать сам Domain creatable и проверить как у него работает Name.


 
lokka ©   (2003-11-12 01:44) [4]

$domain = new COM("MyLib.Domain");
$domain->Name = "Boo";


не работает :(


 
Юрий Федоров ©   (2003-11-12 01:48) [5]

>>lokka © (12.11.03 01:44) [4]
в ASP все работает. В PHP не работаает ни хрена. Вывод -
COM Server написан правильно. Значит, ошибки кроятся в PHP. А это не тот форум



Страницы: 1 вся ветка

Текущий архив: 2003.11.24;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
1-79022
TRIX
2003-11-14 01:40
2003.11.24
Зависание при циклах


1-79013
Michael_X
2003-11-14 09:27
2003.11.24
Считывание табличных данных из файла.


1-78971
GrYRI
2003-11-14 15:06
2003.11.24
Траблы с фор ду или с руками.


9-78747
tos
2003-05-17 01:44
2003.11.24
glscene


3-78773
stud
2003-11-05 15:22
2003.11.24
отчет - как много в этом звуке!