|
dev
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Unhandled exception on Windows98on the development machine with xp pro.It was developed with VS2005 in VB. I installed framework 2 and windows installer 2 on the windows 98 machine. The error message I get is "Application generated an exception that cannot be handled." It then lists the process and thread IDs. I installed the app on a windows 98 machine. Some of the functions work, others do not. The ones that do not have one thing in common: they make an asynchronous call to a method in a class library in the same VB solution.I checked out the methods at msdn which indicates they are supported on windows 98. I added extra message boxes to see how far the code gets. The app crashes before reaching the sub that makes the async call. Private Sub btnQuickQuoteOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuickQuoteOK.Click If Trim(txtQuickQuoteSymbol.Text) = "" Then MsgBox("A symbol is required.") 'executes if textbox is empty Exit Sub End If If InStr(txtQuickQuoteSymbol.Text, ",") > 0 Then MsgBox("One Symbol only") 'executes if textbox contains a comma Exit Sub End If Try ClearQuickQuote() 'does not execute this call, but exception is not handled. Catch ex As Exception MsgBox(ex.Message) End Try Try GetQuotes(Split(Trim(txtQuickQuoteSymbol.Text), ",")) 'makes the async call Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub ClearQuickQuote() txtLast.Text = "" txtDayHi.Text = "" txtDayLo.Text = "" txtOpen.Text = "" txtClose.Text = "" End Sub Private Sub GetQuotes(ByVal Symbols() As String) ' Create an instance of the test class. Dim ad As New Async() ' Create the delegate. Try Dim caller As New AsyncMethodCaller(AddressOf ad.GetQuotes) ' Initiate the asynchronous call Dim result As IAsyncResult = caller.BeginInvoke(Symbols, AddressOf CallbackMethod, _ caller) Catch ex As Exception MsgBox(ex.Message) End Try End Sub ' Callback method must have the same signature as the ' AsyncCallback delegate. Sub CallbackMethod(ByVal ar As IAsyncResult) Dim returnValue As String = "" ' Retrieve the delegate. Try Dim caller As AsyncMethodCaller = CType(ar.AsyncState, AsyncMethodCaller) ' Call EndInvoke to retrieve the results. returnValue = caller.EndInvoke(ar) Catch ex As Exception MsgBox(ex.Message) End Try 'need to implement a thread-safe way to reference a control on the form to avoid a 'cross-thread access error. SetData(returnValue) End Sub Private Sub SetData(ByVal HtmlString As String) ' InvokeRequired required compares the thread ID of the ' calling thread to the thread ID of the creating thread. ' If these threads are different, it returns true. Try If Me.WebBrowser1.InvokeRequired Then Dim d As New SetTextCallback(AddressOf SetData) Me.Invoke(d, New Object() {HtmlString}) Else If BusTier.Buslayer.QuickQuote Then FillQuickQuote(HtmlString) Else Me.WebBrowser1.DocumentText = HtmlString End If End If Catch ex As Exception Exit Sub End Try End Sub |
|||||||||||||||||||||||