我在Access中設置了一個多線程例程,它可以同時打開多個Access文件並在每個文件中執行特定的功能。這些文件並行工作。我想發送Debug.Print
消息到啓動多線程的主文件。將debug.print發送到不同的即時窗口
我不確定它是否可以做到這一點,或者是否有更好的解決方案。
我在Access中設置了一個多線程例程,它可以同時打開多個Access文件並在每個文件中執行特定的功能。這些文件並行工作。我想發送Debug.Print
消息到啓動多線程的主文件。將debug.print發送到不同的即時窗口
我不確定它是否可以做到這一點,或者是否有更好的解決方案。
您可以在主應用程序中創建一個PublicNotCreatable UserForm(不是Access窗體),並將其引用傳遞給所有並行應用程序。向UserForm中添加一個自定義方法,如'PrintLine(message as string), and each app can call
form.PrintLine(「app is running」)`?
然後,您可以讓UserForm顯示輸出,或者可能使UserForm將消息輸出到主應用程序的立即窗口。
您有多個工藝,每個工作在自己的部分大圖。
「主」 IDE的立即窗格屬於該實例,在該處理;你可以Alt鍵 + 標籤然後Alt鍵 + F11,彈出任何VBE實例/每個實例,查看該實例的Debug.Print
輸出。
您想要的內容與ILogger
實現類似,它將日誌條目寫入專用數據庫表中:例如,DatabaseLogger
。
您將Debug.Print
替換爲Logger.Log
調用;這樣您可以讓數據庫服務器處理多個傳入線程,並且根據RDBMS,您甚至可以設置一個作業來清理,聚合和/或歸檔較早的日誌記錄。或者無論如何,只要它不是我需要在VBA代碼中關心的邏輯。
寫到另一個VBE的立即工具窗口涉及低層次,跨進程的Win32魔力並不需要弄亂原本不錯&整潔VBA項目。我不會爲此煩惱,有更簡單的解決方案。
嗨馬特,伐木是我一直在考慮的事情。我將檢查代碼並查看它是否合適。非常感謝。 –
嗨馬特,這些鏈接是驚人的。我正在檢查你創建的字典,然後更新字典。在 {Private Type tDictionary Encapsulated As List}中有一個引用。這也應該是「TYPE TypeValidator」或者它是另一個類。 –
什麼是您的操作系統? – jsotola
看到這個(它只記錄到系統日誌)... https://stackoverflow.com/questions/19574317/vbs-to-event-log/19590044#19590044 – jsotola
什麼是命名管道?我不知道如何實施。 – jsotola