[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как в PHP указать тип данных LONG
Страницы: 1, 2, 3
Danil_lll
Цитата (killer8080 @ 10.09.2018 - 16:23)
$datetime = new Variant(0, VT_I4 | VT_BYREF); 
$PHP_LIB->TSAGetTimeFromStart($inData, 0, 0, $datetime);


А вот это очень интересно. Завтра отпишусь) Спасибо
killer8080
Цитата (Danil_lll @ 10.09.2018 - 15:28)
Различные организации требуют этот интерфейс на PHP.

может им просто API нужен, а не прямая работа с COM объектами из php?



Спустя 2 минуты, 36 секунд killer8080 написал(а):
Danil_lll
из командной строки ей можно как то пользоваться? Если да, то может проще будет через exec с ней работать?
Эли4ка
Цитата
видимо решили: пусть помучается)

Ну что с них взять
Цитата
А писал эту библиотеку бывший сотрудник)

ему может написать,спросить чего и как?
vital
тут уже вроде писали, что проблема с первым парамтером судя по фаталу.
А первый сишный параметр - это BSTR, а вы кормите ему обычную строку, причем пхпшную(но потом на числах и дате, оно тоже отвалится к херам, вы просто не дошли еще smile.gif).

Я могу быть уж не прав, но емнип BSTR - это указатель на null terminated unicode string, гуглить в пхп про new Variant() и потом variant_set_type()/variant_cast() и константу VT_BSTR. А не передавать пхпшную строку напрямую винде. Это так не работает smile.gif А вообще да, вы пытаетесь решить проблему не правильными средствами. Хотят интефрейс - пусть будет API к-е умеет с ним работать. То что вы пытаетесь сделать - это путь долгий, сложный, требующий определенных знаний и через откровенную, глубокую такую, задницу измазанную какашками. К-ю сложно реализовать и абсолюно не возможно поддерживать, масштабировать и балбла, не верно кароч. Хотите быть хорошим специалистом - не соглашайтесь на эту херабору.

_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
Danil_lll
Цитата
тут уже вроде писали, что проблема с первым парамтером судя по фаталу.
А первый сишный параметр - это BSTR, а вы кормите ему обычную строку, причем пхпшную

Написано, что проблема с 0 параметром. Я проверял все по очереди...
В итоге выдавались ошибки в порядке (Parameter 3, Parameter 2, Parameter 1, Parameter 0)...
Ну и отсюда следует, что проблема в параметре OUTDATA

Да и в программе очень много таких BSTR... Везде отправляю стринги и все в порядке... Да и в самой С# отправляется тоже стринг.

А вот на место OUTDATETIME в С# отправляется LONG.
long outDateTime = 0;
Hybrid.TSAGetTimeFromSig(inData, 0, 0, out outDateTime);

Если в C# LONG поменять на INT, тогда тоже беда выходит...


Цитата
Хотите быть хорошим специалистом - не соглашайтесь на эту херабору.

У меня нет особого выбора, это работа на испытательный срок (справлюсь, возьмут на работу)...
vital
Странно это все. Не должно оно работать.
Может там в тм и суть, что бы не делать эту херь? Ну или это, может к чертям такую работу?

Ну и это, попалось на глаза, вдруг пригодится smile.gif

https://www.peachpie.io/

_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
killer8080
Danil_lll
ну так что? Получилось?
Эли4ка
killer8080,кажется,нет wink.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.