VB6 вызовы компонента ActiveX со строковыми параметрами дают странные результаты - PullRequest
1 голос
/ 02 февраля 2011

В настоящее время я заканчиваю часть программного обеспечения, которую уже уволил коллега.

Приложение написано на VB6 и использует сторонний компонент ActiveX для работы со сторонней системой.Наше решение - это, по сути, интеграция между программным обеспечением их компании и нашим.

Проблема, с которой я сталкиваюсь, заключается в том, что есть вызов метода, который последовательно завершается с ошибкой, даже несмотря на то, что с нашей стороны передаются совершенно корректные параметры (это метод входа в систему).Тем не менее, когда я смотрю на трассировку, которую предлагает их приложение, я вижу, что вместо имени пользователя, которое я указываю, оно говорит мне (примерно): «Пользователь '⚠⚠⚠' не может войти».

Я понял этоСкорее всего, это проблема кодирования, так как символ repla, заменяющий символы, которые я даю для входа в систему, кажется, присутствует там, потому что символы неизвестны, но я ничего не мог исправить.

Любой, кто знает о проблеме сVB6 общается с такими компонентами ActiveX?Или у кого есть идеи, что я могу попробовать?Я в недоумении, и если проблема на их стороне, будет трудно решить ее, поскольку у нас нет их исходного кода.

Заранее спасибо.

1 Ответ

0 голосов
/ 29 апреля 2013

Есть несколько способов передачи строк. Помимо очевидного прохождения строки, как в

DIM u As String
DIM p As String
u = "Username"
p = "Password"
Set objIRC = objRCL.Login(u, p)

также существует вероятность того, что .Login ожидает указатели на строку, в этом случае код

Set objIRC = objRCL.Login(StrPtr(u), StrPtr(p))
...