![]() |
#3 |
Участник
|
У меня точно такая же по сути проблема возникла когда я вызывал из аксапты COM (disp) объект OPOS для сканнера штрих-кодов! Напрямую работать с этим COM-объектом из аксапты так и не удалось ввиду вышесказанного, поэтому я написал промежуточный COM-объект на Delphi - обёртку вокруг OPOS объекта и... ошибка осталась!
Тут надо сказать что я в своём промежуточном объекте на дельфи для достука к реальному OPOS объекту использовал примерно следующий по смыслу код: PHP код:
Так вот на строчке OPOSDriver.someMethod() возникало абсолютно то же самое исключение, что и при прямой работе из аксапты с OPOSDriver таким же образом! "Один или несколько аргументов имеют неправильный тип".... По какому то наитию я изменил стратегию работы с этим COM-объектом. Delphi при импорте библиотек типов ком-объектов создаёт классы-загрушки вокруг импортированных ком-объектов, которыми можно пользоваться, а можно и не пользоваться. В данном случае он создал класс TScanner, реализующий _DScanner и изменив код в промежуточном COM-объекте на примерно следующий: PHP код:
Тут то я и попух, потому что никак не смог объяснить произошедшее. ![]() До сих пор всё так и работает. |
|