När jag kör följande kod i Win98 får jag Automation Error 80010108 Efter idogt letande fann jag att detta var ett utslag av "dllhell".Problem att hämta data från Excel i Win98
i rad 70. Funkar OK i WinXP och 2000. Felet betyder enligt winerror.h
att "The object invoked has disconnected from its clients."
Uppträder på flera Win98 maskiner. Går det inte att göra så här
i Win9x ??
<code>
Private Sub LoadLinks()
Dim iI As Integer
Dim lData As Object
Dim lLink As CLink
Dim lWS As Worksheet
Dim lENr As Long
10 On Error GoTo LoadLinks_Error
20 Set m_cLinks = Nothing
30 Set m_cLinks = New CLinks
40 iI = 1
50 Set lWS = xlApp.Workbooks(sExcelWorkbookName).Worksheets(1)
If lWS Is Nothing Then
EMsg.MsgBox "Could not find first worksheet in " & sExcelWorkbookName & vbCrLf & "Cannot load source variable names", vbExclamation, "Error"
Exit Sub
End If
60 With lWS
70 Do While .Cells(1, iI) <> ""
80 Set lLink = m_cLinks.Add()
90 If Not lLink Is Nothing Then
100 lLink.Name = Trim$(.Cells(1, iI))
110 lLink.LinkIndex = iI
120 End If
130 iI = iI + 1
140 Loop
150 End With
160 On Error GoTo 0
170 Exit Sub
LoadLinks_Error:
lENr = Err.Number
If Erl = 70 Then
EMsg.MsgBox "Cell 1," & iI & " generated error", vbExclamation, "Error"
End If
Err.Raise lENr
'180 EMsg.MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure LoadLinks " & vbCrLf & "of Form frmExcel Line " & Erl
End Sub
</code>
//
// MessageId: RPC_E_DISCONNECTED
//
// MessageText:
//
// The object invoked has disconnected from its clients.
//
#define RPC_E_DISCONNECTED _HRESULT_TYPEDEF_(0x80010108L)
/Sv: Problem att hämta data från Excel i Win98
Kopierade tillbaka original oleaut32.dll till win98an i dos-läge
och registrerade den med regsvr32 så fungerade allt ok.