работа с СОМ-объектами

Все вопросы касающиеся использования
программы можно задать здесь
Ответить
E=mc2
Сообщения: 124
Зарегистрирован: 16 май 2014, 00:57

работа с СОМ-объектами

Сообщение E=mc2 » 01 дек 2014, 13:28

Всем привет.
Необходимо использовать функции из DLL'ки. Букварь РНР.net пишет, что нужно добавить в php.ini

Код: Выделить всё

[COM_DOT_NET]
extension=php_com_dotnet.dll 
Обновился до версии НЕ 4.9.5 и добавил строки. При старте НЕ выскакивает сообщение:
PHP Startup: com_dotnet: Unable to initialize module
Module compiled with module API=20131226
PHP compieled with module API=20100525
These options need to match
На этом всё остановилось. php.ini восстановил, чтоб дать остальным скриптам работать.
Вопрос первый. Что с этим делать?

Помощь к dll содержит примеры на VBA, Delphi и VC++
Пример:

Код: Выделить всё

Функция для сохранения результатов в файл: 

BOOL SaveArrayToFile(VARIANT &ASer, char *AFileName) {
	if ((ASer.vt & (VT_ARRAY|VT_R8)) != (VT_ARRAY|VT_R8)) return FALSE;
	SAFEARRAY* sa = ASer.parray;
	double *pSAr; long iLeft, iRight, i;
	if ((SafeArrayGetDim(sa) != 1) ||
		FAILED(SafeArrayGetLBound(sa, 1, &iLeft))||
		FAILED(SafeArrayGetUBound(sa, 1, &iRight)) || 
		FAILED(SafeArrayAccessData(sa, (void HUGEP**)&pSAr))) return FALSE;
	ofstream outdat(AFileName);
	for (i=0; i<iRight-iLeft+1; ++i,++pSAr) 
		outdat<<fixed<<setw(7)<<setprecision(2)<<*pSAr<<endl; 
	SafeArrayUnaccessData(sa);
	return TRUE;
}
Вопрос второй. Может есть способ "прикрутить" библиотеку именно к НЕ лучший, чем COM class?

E=mc2
Сообщения: 124
Зарегистрирован: 16 май 2014, 00:57

Re: работа с СОМ-объектами

Сообщение E=mc2 » 05 дек 2014, 14:48

Решил избавиться от ошибки с с [COM_DOT_NET] откатом на предидущую версию XHE 4.6.50
Нежданка. В папке ext библиотека php_com_dotnet.dll отсутствует.
Что делать? Ждать 4.9.6 ?

Аватара пользователя
Support
Site Admin
Сообщения: 1000
Зарегистрирован: 10 апр 2009, 17:45
Контактная информация:

Re: работа с СОМ-объектами

Сообщение Support » 05 дек 2014, 15:43

E=mc2 писал(а):Решил избавиться от ошибки с с [COM_DOT_NET] откатом на предидущую версию XHE 4.6.50
Нежданка. В папке ext библиотека php_com_dotnet.dll отсутствует.
Что делать? Ждать 4.9.6 ?
Не понятно каким образом это у вас получилось и что вы при этом делали. При переустановке ничего не теряется из компилированных файлов.
Ниже архив папки PHP из корневого каталога XHE 4.6.50
http://dropmefiles.com/58X9k

E=mc2
Сообщения: 124
Зарегистрирован: 16 май 2014, 00:57

Re: работа с СОМ-объектами

Сообщение E=mc2 » 06 дек 2014, 13:10

Support писал(а): Ниже архив папки PHP из корневого каталога XHE 4.6.50
Support, спасибо, что уделили этому вопросу внимание.
Содержимое моей папки идентично содержимому Вашей. Там нет php_com_dotnet.dll
Может у меня что-то с головой? Не хотелось бы...
Ниже скрин того, что я получил по Вашей ссылке:
Изображение

Аватара пользователя
Support
Site Admin
Сообщения: 1000
Зарегистрирован: 10 апр 2009, 17:45
Контактная информация:

Re: работа с СОМ-объектами

Сообщение Support » 08 дек 2014, 10:41

Странности какие-то, вот еще ссылка на архив PHP, но терзает еще один вопрос, надо будет у разработчиков уточнить, что ответ может скрываться в версии используемого php, так как в последних версиях программы обновляли версию самого php.
http://dropmefiles.com/FQvrk

E=mc2
Сообщения: 124
Зарегистрирован: 16 май 2014, 00:57

Re: работа с СОМ-объектами

Сообщение E=mc2 » 08 дек 2014, 12:46

Пока решил вопрос тем, что переключил XHE на рнр XAMPP'a

Аватара пользователя
Support
Site Admin
Сообщения: 1000
Зарегистрирован: 10 апр 2009, 17:45
Контактная информация:

Re: работа с СОМ-объектами

Сообщение Support » 08 дек 2014, 12:56

E=mc2 писал(а):Пока решил вопрос тем, что переключил XHE на рнр XAMPP'a
По сути можете использовать любой php, который вам будет уместен.

oleg88889
Сообщения: 128
Зарегистрирован: 19 мар 2013, 14:35

Re: работа с СОМ-объектами

Сообщение oleg88889 » 08 дек 2014, 20:59

Действительно, замечено масса странностей в поведении php на новой версии. Интерфейс работает а пхп то да то нет то вообще ахинею возвращает (пхп.нет курил, ответов не нашел). Как итог сижу на старой версии.
Вопрос к саппорту, реально ли встроить в новую версию хумана старый пхп?
E=mc2 писал(а):Пока решил вопрос тем, что переключил XHE на рнр XAMPP'a
Как Вы это осуществили?

E=mc2
Сообщения: 124
Зарегистрирован: 16 май 2014, 00:57

Re: работа с СОМ-объектами

Сообщение E=mc2 » 09 дек 2014, 15:01

В настройках программы:
Service->Setting->General->PHP Folder

Ответить