Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.013 c
6-79092
Axe
2003-09-26 22:06
2003.11.24
internet


1-78920
Rradion
2003-11-12 14:33
2003.11.24
Алгоритм Бинарного Поиска - помогите плиз...


3-78750
mike_gorb
2003-11-06 10:39
2003.11.24
Accessform


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


1-78900
_jek
2003-11-14 18:58
2003.11.24
Текстовые файлы и ADO





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский