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 Oct 2007.

  1. carthorse

    carthorse

    Joined:
    4 Oct 2007
    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 Oct 2007
    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