开发者

VB6 calls to ActiveX component with string parameters yield weird results

开发者 https://www.devze.com 2023-02-08 18:20 出处:网络
I\'m currently finishing a piece of software a now gone co-worker started. The app is coded in VB6 and uses a 3rd party ActiveX component to act upon a 3rd party system.Our solution is basically an i

I'm currently finishing a piece of software a now gone co-worker started.

The app is coded in VB6 and uses a 3rd party ActiveX component to act upon a 3rd party system. Our solution is basically an integration between their company's software and ours.

The issue I'm having is that there's a method call that fails consistently, even though it's passed perfectly valid parameters on our side (it's a login method). However, when I look at the trace their application offers, I see that instead of the username I specify, it tells me (roughly) "User '⚠⚠⚠' can't login".

I figured it was likely to be an encoding issue as the ⚠ character replacing the characters I give it to log on seem to be there because the characters are unknown, but nothing I did could fix it.

Anyone know of an issue with VB6 communicating with ActiveX components like this? Or anyone have an idea what I could try? I'm at a loss here and if t开发者_如何学Che issue is on their side, it'll be a pain to get it fixed as we don't have their source code.

Thanks in advance.


There are a couple of ways of passing strings. Aside from the obvious one of passing a string as in

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

there's also the possibility that .Login is expecting pointers to String, in which case code

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

精彩评论

暂无评论...
验证码 换一张
取 消