Гость
Форумы / Delphi [игнор отключен] [закрыт для гостей] / COM-объект - Delphi 7 / Delphi XE2 / 16 сообщений из 16, страница 1 из 1
11.01.2022, 08:37
    #40125659
barry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COM-объект - Delphi 7 / Delphi XE2
Пробую работать с COM-объектом. Скомпиленное в Delphi 7 отрабатывает нормально.
В Delphi XE2:
raised exception class EAccessViolation with message 'Access violation at address 029E50D0. Read of address 00000000'.
Куда копать?
Код: sql
1.
2.
3.
4.
5.
    var
       Nsx: String;
    Printer := CreateOleObject('WebCheck.ClassFiscal');
    Nsx := Format('<InputParameters><Parameters FN="%s" OperatorID="%s"/></InputParameters>',[NFn,NTax]);
    Printer.Initialization(Nsx); //boolean
...
Рейтинг: 0 / 0
11.01.2022, 11:57
    #40125702
Belotsky Serge
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COM-объект - Delphi 7 / Delphi XE2
barry,
А если попробовать так?
Код: pascal
1.
2.
var
       Nsx: AnsiString;
...
Рейтинг: 0 / 0
11.01.2022, 13:11
    #40125727
barry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COM-объект - Delphi 7 / Delphi XE2
Belotsky Serge
barry,
А если попробовать так?
Код: pascal
1.
2.


Та я тоже подозревал, но не помогает. AnsiString, string[255] пробовал.
Вообще приблуда тут:
https://www.webchek.com.ua/webchek-prro-download/
И там пример для Delphi можно загрузить.
Мало просто работал с COM. Excel вроде как получалось юзать, а тут не пойму.
...
Рейтинг: 0 / 0
11.01.2022, 13:46
    #40125736
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COM-объект - Delphi 7 / Delphi XE2
Это же простейший AV. Смотришь Call Stack и где указатель nil вместо того, что надо.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
11.01.2022, 14:01
    #40125741
Belotsky Serge
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COM-объект - Delphi 7 / Delphi XE2
Dimitry Sibiryakov

Это же простейший AV. Смотришь Call Stack и где указатель nil вместо того, что надо.
Я так понимаю, что должен быть установлена служба, которая вернет OLE объект на 'WebCheck.ClassFiscal'. Подозреваю, что эта служба устанавливается вместе с '1C'. Непонятно, на какой строке кода происходит AV.
ТС утверждает, что скомпилированное в D7 работает нормально. Или он это на другой машине делал, где нет службы?
В коде нет проверки инициализации OLE объекта.
...
Рейтинг: 0 / 0
11.01.2022, 14:09
    #40125746
barry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COM-объект - Delphi 7 / Delphi XE2
Belotsky Serge,

Откомпиленное на Delphi 7 работает. Т.е. объект есть и реагирует адекватно (без 1C).
То же самое перекомпиленное на Delphi XE2 не идет.
...
Рейтинг: 0 / 0
11.01.2022, 14:12
    #40125750
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COM-объект - Delphi 7 / Delphi XE2
barryТо же самое перекомпиленное на Delphi XE2 не идет.

Значит ног нет, кантовать надо.

Call Stack и смотри что именно там nil.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
11.01.2022, 14:25
    #40125754
Belotsky Serge
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COM-объект - Delphi 7 / Delphi XE2
barry
Belotsky Serge,

Откомпиленное на Delphi 7 работает. Т.е. объект есть и реагирует адекватно (без 1C).
То же самое перекомпиленное на Delphi XE2 не идет.


Скачал по ссылке демо, на XE3 компилируется, но не запускается, сразу '0x00000005 - Отказано в доступе'. Под админкой - тоже самое. То ли у меня нет нужной службы, то ли что-то еще.
...
Рейтинг: 0 / 0
11.01.2022, 14:33
    #40125756
barry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COM-объект - Delphi 7 / Delphi XE2
[quot Belotsky Serge#22419308]
barry
Belotsky Serge,
'0x00000005 - Отказано в доступе'.

Т.е. не падает. По идее адекватная реакция системы. Дело в том что это виртуальный кассовый аппарат. Вполне может по IP не пускать из других стран.
Видимо все-таки именно в XE2 что-то не так.
...
Рейтинг: 0 / 0
11.01.2022, 14:38
    #40125761
barry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COM-объект - Delphi 7 / Delphi XE2
Пока извратился через DLL, написанную на D7. Вызываю ее из приложения XE2, идет нормально.
Дело в том, что большая система на XE2, из которой надо заюзать COM.
...
Рейтинг: 0 / 0
11.01.2022, 14:59
    #40125779
Belotsky Serge
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COM-объект - Delphi 7 / Delphi XE2
[quot barry#22419313]
Belotsky Serge
пропущено...

Т.е. не падает. По идее адекватная реакция системы. Дело в том что это виртуальный кассовый аппарат. Вполне может по IP не пускать из других стран.
Видимо все-таки именно в XE2 что-то не так.

Начал копаться, прикольно, взятый сторонний проект не запускается. Создал новый проект, все это рисовать не стал, кинул только кнопку и обработчик Button1OnClick скопировал. Запускается. Но на
Код: pascal
1.
Printer := CreateOleObject('WebCheck.ClassFiscal');


выдает ошибку. Т.е. где-то должна быть служба имхо.
...
Рейтинг: 0 / 0
11.01.2022, 15:15
    #40125787
barry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COM-объект - Delphi 7 / Delphi XE2
Belotsky Serge

Начал копаться
выдает ошибку. Т.е. где-то должна быть служба имхо.

https://www.webchek.com.ua/webchek-prro-download/
У меня 1С не стоит. Первая приблуда ставит в том числе объект насколько я понимаю.
...
Рейтинг: 0 / 0
11.01.2022, 15:15
    #40125788
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COM-объект - Delphi 7 / Delphi XE2
barryизвратился через DLL, написанную на D7.

Какой только хренью не маются люди, не осилившие найти пункт меню Windows -
Debug - Call Stack...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
11.01.2022, 15:21
    #40125790
barry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COM-объект - Delphi 7 / Delphi XE2
в реестре
...
Рейтинг: 0 / 0
11.01.2022, 15:36
    #40125799
barry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COM-объект - Delphi 7 / Delphi XE2
Dimitry Sibiryakov

barryизвратился через DLL, написанную на D7.

Какой только хренью не маются люди, не осилившие найти пункт меню Windows -
Debug - Call Stack...
...
Рейтинг: 0 / 0
11.01.2022, 16:11
    #40125816
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
COM-объект - Delphi 7 / Delphi XE2
И ты уже убедился, что твой String на уровне входа в .NET сборку нормально
преобразовался в Variant с типом VT_BSTR внутри?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / COM-объект - Delphi 7 / Delphi XE2 / 16 сообщений из 16, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]