간단히 말해서, 코딩 방법을 정리하려고하고 있는데 해결할 수 없었습니다.Strict 옵션을 사용하여 양식에서 서브 실행 ON
옵션을 엄격히 사용하면 양식의 인스턴스를 찾은 후 그 인스턴스에서 공개 서브를 실행하는 방법은 무엇입니까?
예를 들어 인벤토리 패키지에서 체크 아웃 양식이 열려 있고 Checkout.AddID (ID를 정수로 사용)를 실행하는 부분을 체크 아웃 할 수있는 바로 가기가 있습니다. 예 :
For Each Form In Application.OpenForms
If Form.Name = "FRMCheckout" Then
Form.AddIDToList(PartID)
End If
Next
이 옵션은 엄격한 옵션을 사용하면 문제가 없습니다. 그러나, 전원을 켜과 같은 맞게 수정 :
For Each Form As Windows.Forms.Form In Application.OpenForms
' If Form.Name = "FRMCheckout" Then EDIT: Dropped this in leu of this:
If TypeOf (Form) Is FRMCheckout Then
Form.AddIDToList(Ctype(PartID, Integer))
End If
Next
는 (분명히) 오류를 예외 .AddIDToList이 Forms.form의 구성원이 아닌지.
For Each Form as ProgramNamespace.FRMCheckout
으로 변경하면 for 루프가 일반 양식에 도달 할 때 '형식을 FRMcheckout으로 변환 할 수 없습니다.'가 발생합니다.
엄격한 옵션을 끄지 않고이 작업을 수행하는 방법은 무엇입니까?
DirectCast (Form, FRMCheckout) .AddIDToList (Ctype (PartID, Integer).) 사용자가 FRMCheckout의 두 인스턴스를 열었을 때 어떤 일이 일어날 지 생각해보십시오. 가능한 가장 마지막 순간에 알아낼 필요가없는 가장 좋은 방법은 생성자를 사용하여 FRMCheckout 클래스에 어떤 객체 –