2017-10-27 13 views
0

'Invoke'가 'SysForm.SystemForm'의 멤버가 아니라는 오류 메시지를주는 함수 (Invoke (x, New Object() {(텍스트)})) 문제가 하나 있습니다. 나는 SAP B1 SDK에서 Invoke() 함수를 어떻게 사용할 수 있습니까?

사실 내 코드는 문제는 ({(텍스트)} X, 새 개체())

Me.Invoke의 라인에이

Private Sub myserialport_DataReceived(sender As Object, e As SerialDataReceivedEventArgs) Handles myserialport.DataReceived 
     ReceivedText(myserialport.ReadExisting()) 
    End Sub 
    Private Sub ReceivedText(ByVal [text] As String) 
     If Me.textbox1.InvokeRequired Then 
      Dim x As New SetTextCallBack(AddressOf ReceivedText) 
      Me.Invoke(x, New Object() {(text)}) 
     Else 
      Me.texbox1.text &= [text] 
     End If 
    End Sub 

처럼, 그것은 SAP의 SDK에서 작동하지 않습니다 생각

texbox1을 SAP 필드로 바꿉니다

SAP B1에서 Invoke() 기능을 사용하거나 SAP B1 SDK에서 어떤 기능을 대체 할 수 있습니까?

누구든지 나를

+0

을 도울 수있는'TextBox' 왜 당신이 같은'TextBox'의'Invoke' 메소드를 호출하지 않을까요? 그것이 효과가 있다고하더라도, 같은 대상의 두 멤버를 사용하지 않는 것은 의미가 없습니다. – jmcilhinney

답변

0

SAP UI 컨트롤이 Invoke AFAIK를 지원하지 않는 데 도움이 바랍니다. 그것들은 상자 밖의 .Net UI 컨트롤과는 완전히 별개입니다.

나는 당신이 대안을 제안하려고하는 것에 대해 충분히 이해하지 못합니다.

0

비슷한 코드를 사용했습니다. 당신의`InvokeRequired` 속성을 테스트하는 경우

어쩌면이 코드는

Type mtype = Caller.GetType(); 
MethodInfo mMethod = mtype.GetMethod(mthdname); 
mMethod.Invoke(Caller, new object[] { kacadet, aragun, ayingunu }); 

oForm.Close(); 
GC.Collect(); 
GC.WaitForPendingFinalizers();