Measurement Studio for .NET Languages

cancel
Showing results for 
Search instead for 
Did you mean: 

Upgrading to VB.NET from VB6

I made a simple dummy program in VB6 that uses a CWDSP control and a CWGraph control.  I then opened the project in VB2008 and allowed the  Upgrade Wizzard to convert my project, which it did - but with warning messages about late binding.

 

This codes runs ok.

 

Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click

Dim z As Object

'UPGRADE_WARNING: Couldn't resolve default property of object CWDSP1.GaussNoise(). Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="6A50421D-15FE-4896-8A1B-2EC21E9037B2"'

'UPGRADE_WARNING: Couldn't resolve default property of object z. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="6A50421D-15FE-4896-8A1B-2EC21E9037B2"'

z = (CWDSP1.GaussNoise(500, 1, 17))

CWGraph1.PlotY(z)

End Sub

 

Howver, if I change the code  to implement early binding - I get an exception error on the call to generate the noise waveform.

 

Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click

Dim z As Object

 Dim DSP As CWAnalysisControlsLib.CWDSP DSP = New CWAnalysisControlsLib.CWDSP

'UPGRADE_WARNING: Couldn't resolve default property of object CWDSP1.GaussNoise(). Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="6A50421D-15FE-4896-8A1B-2EC21E9037B2"'

'UPGRADE_WARNING: Couldn't resolve default property of object z. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="6A50421D-15FE-4896-8A1B-2EC21E9037B2"'

'z = (CWDSP1.GaussNoise(500, 1, 17))

z = (DSP.GaussNoise(500, 1, 17))

CWGraph1.PlotY(z)

End Sub

 

Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))

 

What is needed to make the early binding work ? 

 

 

0 Kudos
Message 1 of 3
(9,627 Views)

Hello Jason,

 

Is this happening on all ActiveX controls or only National Instruments controls?

 

Does the "Click for more" give you any useful information?

 

I looked around and found quite a few people on forums across the web with a similar problem using COM components in .NET, some of these suggested that using a non-visible control was the issue. Did you actually place the Graph on a form in the VB6 project or are you simply declaring it in the code?

 

It's strange that the upgrade wizrd wouldn't add a wrapper like .NET normally does with COM components, this could be an issue with the upgrade wizard.

With warm regards,

David D.
0 Kudos
Message 2 of 3
(9,603 Views)

Hi Jason,

 

Try this

 

 Dim DSP As AxCWAnalysisControlsLib.AxCWDSP = New AxCWAnalysisControlsLib.AxCWDSP() Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Controls.Add(DSP)  'you still have to add the control

End Sub

 Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click

Dim z As Object

Try

z = DSP.GaussNoise(500, 1, 17)

Me.CWGraph1.PlotY(z)

Exit Sub

 Catch Exc As Exception

MessageBox.Show(Exc.Message)

End Try

End Sub

 

 

Curt

Message 3 of 3
(9,590 Views)