2017-12-25 29 views
1

VB6 코드에서 일부 로직을 변경하려고하는데 컨트롤 이름을 속성 이름으로 가져와야합니다. 뭔가 비슷한 액세스 control.properties 속성입니다. 컨트롤 속성 가져 오기 VB6

Dim propertyName as string 
propertyName ="Visible" 
Me.Controls("mnuRepots").Properties(propertyName)="True" 

하지만 내 VB6이 객체가 동적 이름에 따라 속성을하는 방법을 실행하려면이 속성 또는 메서드

답변

3

를 지원하거나 설정하거나하지 않습니다 말한다,이처럼 CallByName function을 사용할 수 있습니다 : 거의 항상 polymorphism 또는 간단한 Select Case 문을 사용하여 서로 다른 경우에 다른 코드를 호출하는 더 나은 방법이 있다고

CallByName mnuReports, "Visible", vbLet, True 

참고. 코드를 동적으로로드하면 코드를 읽기가 훨씬 더 어려워 질 수 있습니다. (신뢰할 수없는 소스로부터 입력을받는 경우) 쉽게 손을 대고 사람들이 의도 한 방식이 아닌 메소드를 호출 할 수 있습니다. 보안 취약점이 발생합니다.