Главная страница
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.015 c
1-78979
Катерина
2003-11-14 13:40
2003.11.24
Убрать HotKeys в меню


1-78956
boby_g
2003-11-11 21:58
2003.11.24
Функция Pos с параметром BegPos???


4-79233
plyaznik
2003-09-28 12:05
2003.11.24
не работает RegEnumKey


14-79168
shved111
2003-10-31 18:48
2003.11.24
нужна прога на Дельфи. срочно. ОПЛАЧУ. (Москва)


1-79043
lext
2003-11-14 21:00
2003.11.24
Не могу убрать лишнюю кнопку в заголовке окна!