Member 13032309 Ответов: 0

VB6 COM+ для взаимодействия с .NET


Recently, we have implemented change to integrate COM+ application with a .Net class library (to consume IBM ESB services).

.Net class library is reading the output string from web service and passing this string to VB as reference parameter.

Issue, when the output string data has '\r'(carriage return char OD) then .Net is trying to convert to ASCII but not able to and this passing the value as '?' to VB. VB is failing because of the '?'3F  char.

Is there is any way in which .Net should not try to convert the string .

What I have tried:

• Tried to pass the output string as base64 char

• Tried to pass the output string as character array

Richard MacCutchan

0x0D - это возврат каретки ('\r'), а не новая строка.

Member 13032309

Привет Ричард,

'\r' (OD) исходит от мэйнфрейма, а VB выдает ошибку синтаксического анализатора. Есть идеи по этому вопросу ?

Richard MacCutchan

Я понятия не имею, что делает мэйнфрейм .Библиотека сетевых классов, которую вы используете, или как вы написали свой VB-код. Но очевидные предложения заключаются в том, чтобы заставить мэйнфрейм отправить правильный символ новой строки. Или измените код в библиотеке классов или VB, чтобы распознать, что вы получаете.

Member 13032309

Привет Ричард,

Он работал раньше, когда C++ считывал данные из мэйнфрейма и предоставлял ту же строку VB. Но теперь, после добавления .Возникает проблема Net class library. Есть ли какой-нибудь способ удалить этот символ в библиотеке классов .Net ?

0 Ответов