2011-02-02 1 views
1

현재 동료가 시작한 소프트웨어가 완성되었습니다.VB6에서 문자열 매개 변수를 사용하여 ActiveX 구성 요소를 호출하면 이상한 결과가 발생합니다.

응용 프로그램은 VB6로 코딩되어 타사 ActiveX 구성 요소를 사용하여 타사 시스템에서 작동합니다. 우리의 솔루션은 기본적으로 회사의 소프트웨어와 우리 소프트웨어 간의 통합입니다.

내가 겪고있는 문제는 완벽하게 유효한 매개 변수 (로그인 메소드)가 전달되었지만 일관되게 실패하는 메소드 호출이 있다는 것입니다. 그러나 응용 프로그램이 제공하는 추적을 보면 사용자 이름 대신 "사용자 '가 로그인 할 수 없다는 것을 알 수 있습니다.

문자가 알려지지 않았기 때문에 내가 로그온 할 때 사용하는 문자를 대체하는 ⚠ 문자가 인코딩 문제가 될 가능성이 높습니다.

누구나 이런 ActiveX 구성 요소와 통신하는 VB6의 문제점을 알고 있습니까? 또는 누군가는 나가 시도 할 수 있던 아이디어가 있는가? 여기서 문제가 발생하고 문제가 있다면 그들 소스 코드가 없으므로 문제가 해결 될 수 있습니다.

미리 감사드립니다.

+0

(1) 코드를 제시해주십시오 (에서, 문자열에 대한 포인터를 기대 가능성도있다 적어도 문자열을 전달하는 장소), (2)이 문자열 만 사용하는 유일한 방법입니까? 다른 말로하면, 그 행동을 비교할 다른 부름이 있습니까? –

+0

objIRC = objRCL.Login ("User,"pass ")을 설정하십시오. 실패한 유일한 방법이지만 로그온하지 않은 다른 호출을 만들 수 없기 때문일 수 있습니다. –

+2

유니 코드 문자열 대신 ANSI 문자의 바이트 배열을 사용할 수 있습니까? – Bob77

답변

0

문자열을 전달하는 몇 가지 방법이 있습니다. 이외에도

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)) 
관련 문제