2012-09-05 2 views
0
Private Sub FKeyButton_Click(Index As Integer) 

    Dim curChild As Form 
    Set curChild = frmMain.ActiveForm 

    Dim funcStr As String 
    Dim funcStrA(3) As String 
    funcStrA(0) = "F" 
    funcStrA(1) = str(Index) 
    funcStrA(2) = "_Click" 

    funcStr = Join(funcStrA, "") 

    If ExistsFunction(funcStr, curChild) Then 
     CallByName curChild, funcStr, VbMethod 
    End If 

End Sub 

결과는 버튼을 클릭 할 때 실제 mdichild의 함수가 호출되어야한다는 결과가 있어야합니다.결합 후 문자열의 공백 VB6

예를 들어 색인 '7'이있는 버튼을 클릭하면 문자열 'funcStr'의 값은 'F7_Click'이어야합니다. 그러나 값은 "F 7_Click"이며 exist 함수는 false를 반환합니다.

나는 문제가 조인 안에 있다고 생각하지만 트림하려고했지만 효과가 없다.

+0

왜 'curChild'버튼에 컨트롤 배열을 사용하지 않습니까? – Deanna

답변

3

사실, 정확히 기억한다면 Str() 기능입니다. 기호의 자리 표시 자로 공백을 앞에 둡니다. CStr()을 사용하거나 Index을 에 직접 할당하고 암시 적으로 문자열로 변환하십시오.

+0

고마워,이 작품은 나를 위해 :) – blackWorX

+0

또한 전체 배열 건, ("F"+ CStr (인덱스) + "_Click") 충분했다. 내가 가입해야 할 필요가 있길 ... – blackWorX

+0

Str()은 다른 부작용도있을 수 있습니다. 하나는 로케일 블라인드이며 항상 "범용"(즉, 미국 영어) 구두점을 사용합니다. 소수점으로 ","를 사용하지 않습니다. – Bob77