投稿者 JUNKOU  (社会人) 投稿日時 2009/11/29 11:08:24
魔界の仮面弁士 様 ありがとうございます。

下記のように変更したら、うまく行きました。
たいへんお世話になりました。

又、お世話になるかと思いますのでよろしくお願いします。

        Dim MyCall As New TessCall

        Dim CallA As CallAA = New CallAA(AddressOf MyCall.glVertex3dvCB)
        Dim CallB As CallBB = New CallBB(AddressOf MyCall.glBeginCB)
        Dim CallC As CallCC = New CallCC(AddressOf MyCall.glEndCB)
        Dim CallD As CallDD = New CallDD(AddressOf MyCall.glErrorCB)

        Dim returnValue1 As IntPtr
        Dim returnValue2 As IntPtr
        Dim returnValue3 As IntPtr
        Dim returnValue4 As IntPtr

        returnValue1 = Marshal.GetFunctionPointerForDelegate(CallA)
        returnValue2 = Marshal.GetFunctionPointerForDelegate(CallB)
        returnValue3 = Marshal.GetFunctionPointerForDelegate(CallC)
        returnValue4 = Marshal.GetFunctionPointerForDelegate(CallD)

        tobj = gluNewTess()

        gluTessCallback(tobj, GLU_TESS_VERTEX, returnValue1) ' AddressOf glVertex3dvCB) 
        gluTessCallback(tobj, GLU_TESS_BEGIN, returnValue2)  ' AddressOf glBeginCB) 
        gluTessCallback(tobj, GLU_TESS_END, returnValue3)    ' AddressOf glEndCB) 
        gluTessCallback(tobj, GLU_TESS_ERROR, returnValue4)  ' AddressOf glErrorCB)