Смотрю, но все равно не понимаю,можете сказать?
killer8080
7.09.2018 - 00:38
Цитата (Danil_lll @ 5.09.2018 - 12:34) |
Функция в COM-библиотеке:
STDMETHODIMP HybridCOM::GetTimeFromStart(BSTR inData, INT flags, INT sigId, DATE* outDateTime) |
четвёртый параметр - это указатель, т.е. адрес начального байта переменной в ОЗУ, сам тип указывается чтобы C++ знал размерность переменной в байтах. Используется он для возврата значения, но из php ты не можешь туда воткнуть переменную, потому что передача по ссылке в PHP, и указатели в C, это совершенно разные вещи. PHP не позволяет работать с памятью напрямую, переменные хранятся в
zval-ах и ты не сможешь передать указатель на значение переменной. Результат отработки должен быть в возврате функции.
PS вместо echo для начала лучше сделать var_dump, возможно там будет объект.
Спустя
11 минут, 6 секунд killer8080 написал(а):
подобный вопрос
https://stackoverflow.com/questions/3328050...function-in-php
Вот почему я использую свою IDE вместо ваших бестолковых штормов и нетбинсов. Они работают только с классами. А ООП, это объекты. А если без ООП, ну тоеeсь
нормальное программирование, то оно и подавно не надо.
Хотя о чем я... Никто не пишет на ООП? только притворяются. Могу поспорить. Потому что все IDE заточены на transaction script. А именно на процедурку.
Жаль слились с форума Santechnic и Ron,было бы о чем поговорить.)))
Давайте позиционировать форум для новичкоф. Будет хоть мелкий толк.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Danil_lll
7.09.2018 - 07:21
Цитата (killer8080 @ 6.09.2018 - 23:30) |
$datetime = $PHP_LIB->TSAGetTimeFromSig($inData, 0, 0); echo $datetime; |
Неа... PHP хочет все 4 параметра...
Вот что пишет:
Uncaught exception 'com_exception' with message 'Error [0x8002000e] Недопустимое число параметров.
killer8080,ого. Спасибо за подробность. Я просто никогда не работала еще с PHP и С одновременно. Не было задач. Поэтому и не обратила внимание на то,что там указатель.
Цитата |
Вот почему я использую свою IDE вместо ваших бестолковых штормов и нетбинсов. Они работают только с классами. А ООП, это объекты. А если без ООП, ну тоеeсь нормальное программирование, то оно и подавно не надо.
Хотя о чем я... Никто не пишет на ООП? только притворяются. Могу поспорить. Потому что все IDE заточены на transaction script. А именно на процедурку. |
twin, не совсем поняла о чем вы
Цитата |
Давайте позиционировать форум для новичкоф. Будет хоть мелкий толк. |
Если смотреть последние темы-то увы так и есть.
Цитата |
Неа... PHP хочет все 4 параметра... Вот что пишет: Uncaught exception 'com_exception' with message 'Error [0x8002000e] Недопустимое число параметров. |
Danil_lll,exception С или PHP принадлежит?
Danil_lll
7.09.2018 - 13:26
Цитата (Эли4ка @ 7.09.2018 - 08:19) |
exception С или PHP принадлежит? |
Даже не знаю...
По сути это исключение в самой библиотеке... Получается исключение в С
killer8080
7.09.2018 - 18:49
Цитата (Danil_lll @ 7.09.2018 - 06:21) |
Неа... PHP хочет все 4 параметра... Вот что пишет: Uncaught exception 'com_exception' with message 'Error [0x8002000e] Недопустимое число параметров. |
Значит я не прав
а вариант без амперсанда пробовал?
$datetime = 0;
$PHP_LIB->TSAGetTimeFromStart($inData, 0, 0, $datetime);
Цитата |
По сути это исключение в самой библиотеке... Получается исключение в С |
Вы разобрались почему именно оно выбрасывается или нет?
Danil_lll
10.09.2018 - 07:13
Цитата (killer8080 @ 7.09.2018 - 18:49) |
а вариант без амперсанда пробовал? |
Пробовал. Говорит то же самое, что и без него:
Uncaught exception 'com_exception' with message 'Parameter 0: Несовпадение типов.
Danil_lll
10.09.2018 - 07:14
Цитата (Эли4ка @ 7.09.2018 - 20:50) |
Вы разобрались почему именно оно выбрасывается или нет? |
Нет...
И не знаю даже как
Эли4ка
10.09.2018 - 08:27
Вы автор сей чудной(долбанной) библиотеки?
Danil_lll
10.09.2018 - 16:14
Цитата (Эли4ка @ 10.09.2018 - 08:27) |
Вы автор сей чудной(долбанной) библиотеки? |
Еееееесли б... Я новый сотрудник организации.... Проходит мой второй стажировочный месяц... А писал эту библиотеку бывший сотрудник)
killer8080
10.09.2018 - 16:23
Цитата (Danil_lll @ 10.09.2018 - 06:13) |
Пробовал. Говорит то же самое, что и без него: Uncaught exception 'com_exception' with message 'Parameter 0: Несовпадение типов. |
даже не знаю что посоветовать, можно попробовать
Variant$datetime = new Variant(0, VT_I4 | VT_BYREF);
$PHP_LIB->TSAGetTimeFromStart($inData, 0, 0, $datetime);
С флагами поэкспериментируй.
killer8080
10.09.2018 - 16:25
Цитата (Danil_lll @ 10.09.2018 - 15:14) |
Еееееесли б... Я новый сотрудник организации.... Проходит мой второй стажировочный месяц... А писал эту библиотеку бывший сотрудник) |
а зачем на php это переделываете, раз на C# всё работает?
Danil_lll
10.09.2018 - 16:28
Цитата (killer8080 @ 10.09.2018 - 16:25) |
а зачем на php это переделываете, раз на C# всё работает? |
Различные организации требуют этот интерфейс на PHP.
Да и пришел новенький, видимо решили: пусть помучается)
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.