11.11.2016 12:45
Revencu
 
есть код на VBS:
Код:
Set request=CreateObject("ArcCom.SAPacketObj.1")
Set response=CreateObject("ArcCom.SAPacketObj.1")
Set Connector=CreateObject("ArcCom.PCPOSTConnectorObj.1")

request.Amount="100"
request.CurrencyCode="643"
request.OperationCode=1
result=Connector.Exchange(request, response, 15)

set connector=Nothing
set request=Nothing
set response=Nothing
При выполнении падает на функции Connector.Exchange
Microsoft VBScript runtime error: Type mismatch: 'Connector.Exchange'

В чём проблема?
И где прописать параметры связи с ПИНПАДОМ?
Или они берутся из файла cashreg.ini по умолчанию?
19.02.2021 10:55
SSergio
 
Потратил полдня, люди помогли разобраться. Отпишу решение.
В несильно типизированном языке типа JS будет и так работать.

А вот если язык типизированный, например, Delphi, то надо увидеть, что создавать надо объект, а в Exchange передавать интерфейс!
var res : integer;
termReq, termResp : OleVariant;
termReqI, termRespI : IDispatch;
AP2 : OleVariant;
begin
termReq := CreateOleObject('ArcCom.SAPacketObj.1');
termResp := CreateOleObject('ArcCom.SAPacketObj.1');
AP2 := CreateOleObject('ArcCom.PCPOSTConnectorObj.1');
termReq.OperationCode := 1;
termReq.Amount := '100';
termReq.CurrencyCode := '643';
termReqI := termReq;
termRespI:= termResp;

res := AP2.Exchange(termReqI, termRespI, 15);
ShowMessage(IntToStr(res));
end;

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.