Flere objekter med samme navn..
Jeg er fornylig gået over til vb.net, og der er stadig småfejl der irretere mig.. Hvorfor kan jeg ikke have 2 objekter i 2 forskellige subs eller funktioner der hedder det samme??Jeg kører denne function tidligt i mit program:
Friend Function GetUnknownoBases(ByVal poFolder As Outlook.OlDefaultFolders) As Collection
Dim oApp As New Outlook.Application
Dim oNS As Outlook.NameSpace
Dim oFolder As Outlook.MAPIFolder
Dim oItems As Object
Dim oItem As Object
Dim colItems As New Collection
Dim eGWBase As eGW.Items.eGWBase
oNS = oApp.GetNamespace("MAPI")
oFolder = oNS.GetDefaultFolder(poFolder)
oItems = oFolder.Items
For Each oItem In oItems
eGWBase = New eGW.Items.eGWBase
With eGWBase
.EntryID = oItem.EntryID
.LastModOutlook = oItem.LastModificationTime
.StoreID = oFolder.StoreID
End With
colItems.Add(eGWBase, eGWBase.EntryID)
Next
Return colItems
End Function
Efter et stykke tid kører jeg så denne funktion:
Friend Function GetUnknownItem(ByVal pstrEntryID As String, ByVal poFolder As Outlook.OlDefaultFolders) As Object
Dim oApp As New Outlook.Application
Dim NS As Outlook.NameSpace
Dim oFolder As Outlook.MAPIFolder
Dim oItem As Object
NS = oApp.GetNamespace("MAPI")
oFolder = NS.GetDefaultFolder(poFolder)
'AddLog: RaiseEvent StatusLog(gstrEvtFindOutlookItem & pstrOutlookID & pstreGWUID & plngeGWID)
For Each oItem In oFolder.Items.Find("[EntryID] = '" & pstrEntryID & "'")
With oItem
If pstrEntryID = .EntryID Then
'Addlog: RaiseEvent StatusLog(gstrEvtFoundOutlookItem)
Return oItem
GoTo ExitNow
End If
End With
Next oItem
'Addlog: RaiseEvent StatusLog(gstrEvtOItemNotFound)
ExitNow:
End Function
Når jeg så dim'er oApp, laver den denne fejl:
An unhandled exception of type 'System.InvalidCastException' occurred in egw.ocontrol.dll
Additional information: Unable to cast object of type System.__ComObject to type Outlook.ApplicationClass.
Jeg er støt på det flere gang når jeg kalder min objekter det samme, men det burde jo ikke være noget problem nå de bare er private i den funktion jeg bruger..
Lige dette tilfælde er de 2 functioner i samme klasse, men det burde da stadig ikke have noget at sige.. Hvad er det jeg gør forkert?
Det er et plugin til Outlook jeg er ved at lave, hvis det skulle have noget at sige....
Håber I kan hjælpe mig...
--
Esben