문제

볼 수 있을까요 CallStack MS Access 2003 용 VBA에서? 즉, 무엇에서 볼 수 있을까요? procedure 또는 function 또 다른 function 전화를 받았습니까?

도움이 되었습니까?

해결책

VBA에는 내가 알고있는 통화 스택을 볼 수있는 프로그래밍 방식이 없습니다. 이 문제에 대한 일반적인 해결책은 일부 구조를 사용하여 기능의 호출을 추적하는 것이지만, 항상 나에게 Kludge처럼 보이며 실제로 프로그래밍 할 때만 사용되는 경우 (런타임이 아님) VBE가 나에게 보이는 것처럼 보입니다. 통화 스택을 볼 수있는 내장 기능만으로도 충분합니다.

그리고 BTW, 나는 항상 VBE 도구 모음에 통화 스택 버튼을 넣습니다. 왜냐하면 그것이 가장 자주 사용되는 기능 중 하나이기 때문입니다. 또한 컴파일 버튼을 추가합니다. 기본적으로 도구 모음에 있지 않다는 것이 미쳤다고 생각합니다. 그런 다음 Access 2000은 기본적으로 명시 적으로 명시 적 옵션을 사용하지 않았습니다 (VBE를 사용하는 다른 앱과 일관성을 유지할 수 있습니다. 무거운).

하지만 나는 멍청이 ...

다른 팁

런타임에서보기 메뉴 -> 통화 스택 (또는 Ctrl + L을 누릅니다).

결국 기능에 선택적인 매개 변수를 추가하고 발신자 이름을 그런 식으로 전달하십시오. 양식의 경우 사용할 수 있습니다 Me.Name 매개 변수로.

예, 가능하지만 유용하지 않습니다!

Private Declare Sub SetMode Lib "vba332.dll" Alias "EbSetMode" (ByVal lngMode As Long)
Private Declare Function GetCallStackCount Lib "vba332.dll" Alias "EbGetCallstackCount" (lngCount As Long) As Long
Private Declare Function GetCallStackFunction Lib "vba332.dll" Alias "EbGetCallstackFunction" (ByVal Lvl As Long, ByRef strBase As String, ByRef strModule As String, ByRef strFunction As String, ByRef Done As Long) As Long

GetCallStackCount 및 GetCallStackFunction 호출 SetMode (2) 및 SetMode (1)를 사용하기 전에 사용하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top