1
是否可以將activex對象傳遞給同一類中的另一個函數?我嘗試了一些變體,但第一個代碼示例是我最近嘗試過的。第二組代碼目前工作,但我想縮短它,以便我不必爲每個對象實例編寫單獨的函數。VB將ActiveX對象傳遞到函數
這裏是我的,我想目前的代碼:
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf Login), "AxObjectXMFDisplay1")
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf Login), "AxObjectXMFDisplay2")
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf Login), "AxObjectXMFDisplay3")
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf Login), "AxObjectXMFDisplay4")
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf Login), "AxObjectXMFDisplay5")
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf Login), "AxObjectXMFDisplay6")
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf Login), "AxObjectXMFDisplay7")
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf Login), "AxObjectXMFDisplay8")
End Sub
Private Sub Login(disp As Object)
User = TextBox1.Text
Password = TextBox2.Text
disp.RDE_SendKeys_Hsynch(User & "@T", True, 3, 1000, "", 0, 0)
disp.RDE_SendKeys_Hsynch(Password & "@E", True, 3, 1000, "", 0, 0)
End Sub
的代碼工作正常,如果我把它寫這樣的。
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
User = TextBox1.Text
Password = TextBox2.Text
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf Login1))
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf Login2))
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf Login3))
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf Login4))
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf Login5))
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf Login6))
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf Login7))
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf Login8))
End Sub
Private Sub Login1()
AxObjectXMFDisplay2.RDE_SendKeys_Hsynch(User & "@T", True, 3, 1000, "", 0, 0)
AxObjectXMFDisplay2.RDE_SendKeys_Hsynch(Password & "@E", True, 3, 1000, "", 0, 0)
End Sub
Private Sub Login2()
AxObjectXMFDisplay2.RDE_SendKeys_Hsynch(User & "@T", True, 3, 1000, "", 0, 0)
AxObjectXMFDisplay2.RDE_SendKeys_Hsynch(Password & "@E", True, 3, 1000, "", 0, 0)
End Sub
Private Sub Login3()
AxObjectXMFDisplay3.RDE_SendKeys_Hsynch(User & "@T", True, 3, 1000, "", 0, 0)
AxObjectXMFDisplay3.RDE_SendKeys_Hsynch(Password & "@E", True, 3, 1000, "", 0, 0)
End Sub
Private Sub Login4()
AxObjectXMFDisplay4.RDE_SendKeys_Hsynch(User & "@T", True, 3, 1000, "", 0, 0)
AxObjectXMFDisplay4.RDE_SendKeys_Hsynch(Password & "@E", True, 3, 1000, "", 0, 0)
End Sub
Private Sub Login5()
AxObjectXMFDisplay5.RDE_SendKeys_Hsynch(User & "@T", True, 3, 1000, "", 0, 0)
AxObjectXMFDisplay5.RDE_SendKeys_Hsynch(Password & "@E", True, 3, 1000, "", 0, 0)
End Sub
Private Sub Login6()
AxObjectXMFDisplay6.RDE_SendKeys_Hsynch(User & "@T", True, 3, 1000, "", 0, 0)
AxObjectXMFDisplay6.RDE_SendKeys_Hsynch(Password & "@E", True, 3, 1000, "", 0, 0)
End Sub
Private Sub Login7()
AxObjectXMFDisplay7.RDE_SendKeys_Hsynch(User & "@T", True, 3, 1000, "", 0, 0)
AxObjectXMFDisplay7.RDE_SendKeys_Hsynch(Password & "@E", True, 3, 1000, "", 0, 0)
End Sub
Private Sub Login8()
AxObjectXMFDisplay8.RDE_SendKeys_Hsynch(User & "@T", True, 3, 1000, "", 0, 0)
AxObjectXMFDisplay8.RDE_SendKeys_Hsynch(Password & "@E", True, 3, 1000, "", 0, 0)
End Sub
感謝
感謝您的快速響應。你是對的。我以爲我曾嘗試過。我很抱歉,我應該抓住這一點。 – Andrew
@Andrew:沒問題,雖然我很驚訝,沒有人甚至在一個小時內就此發表了評論......並且不需要道歉,有時我們都會犯錯 - 即使是最簡單的錯誤。 :) –