Форум: "Основная";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c