1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Trouble with DefWindProc

Discussion in 'SimConnect' started by carthorse, 11/10/07.

  1. carthorse

    carthorse

    Joined:
    4/10/07
    Messages:
    8
    Country:
    unitedstates
    Has anyone expierenced the following?

    Code:
        Protected Overrides Sub DefWndProc(ByRef m As Message)
            If m.Msg = WM_USER_SIMCONNECT Then
                If Not BackgroundWorker1.IsBusy Then
                    BackgroundWorker1.RunWorkerAsync("Commnications Started")
                End If
            Else
                MyBase.DefWndProc(m)
            End If
        End Sub
    The above method is no longer being called...so i am unable to recieve messages from SimConnect.RecieveMessage(). I have simconnect running on another thread using the background worker. This has happened several times to me. I'm coding along and then at some point i noticed that i was no longer able to handle the OnRecvOpen event (and others). Unfortunately i don't seem to be sharp enough to figure out what is causing this to break.

    thanks
  2. carthorse

    carthorse

    Joined:
    4/10/07
    Messages:
    8
    Country:
    unitedstates
    Problem Solved:

    After some testing, it was not DefWindProc that was the problem. It was recieving system messages just fine. The problem was that i changed the Form.Text property from "Form1" to "something else". This broke the connect routine:

    Dim Handle As IntPtr = CType(FindWindow(Nothing, "Form1"), IntPtr)
    ' open connection to FS
    fsx_simconnect = New SimConnect("Failure Engine", Handle, WM_USER_SIMCONNECT, Nothing, 0)

    There was never any error. The handle must have been a null pointer, but noe exception was ever returned from simconnect.

    Hope this helps someone.

Share This Page