2013-10-01 15 views
5

Ho un oggetto COM VB6 che sono la conversione in VB.Net 2012Equivalente per getobjectcontext() in Visual Studio 2012 vb.net?

Il mio codice di esempio si presenta come di seguito:

Dim ObjContext ,objx ,objy As Object 

Dim Rs As ADODB.Recordset 

Set ObjContext = GetObjectContext 

Set objx =ObjContext.CreateInstance("abc.class1") 

Set Objy = ObjContext.CreateInstance("abcde.class2") 


Set Rs = objx.getvalue(query) 

If Rs.EOF And Rs.BOF Then 

     ObjContext.SetAbort 
     Set objx = Nothing 
     Set ObjContext = Nothing 
     Set Objy = Nothing 

    End If 

Qual è l'equivalente di GetObjectContext() e CreateInstance() in VB 2012 ?

Come posso rimuovere questo concetto da .net?

+1

@Hans cosa ha fatto votare per chiudere questa domanda come duplicata? Eri il primo e altri quattro seguiti. Vedi [questo meta post che mi ha guidato qui] (http://meta.stackexchange.com/q/199313/152859). –

risposta

1

Prova questo:
Penso che u vuole questo

Dim ObjContext ,objx ,objy As Object 

Dim Rs As ADODB.Recordset 

Set ObjContext = GetObjectContext 

Dim ObjContext As COMSVCSLib.ObjectContext 

Dim objAppServer As New COMSVCSLib.AppServer 

ObjContext = objAppServer.GetObjectContext() 

Set objx =ObjContext.CreateInstance("abc.class1") 

Set Objy = ObjContext.CreateInstance("abcde.class2") 


Set Rs = objx.getvalue(query) 

If Rs.EOF And Rs.BOF Then 

     ObjContext.SetAbort 
     Set objx = Nothing 
     Set ObjContext = Nothing 
     Set Objy = Nothing 

    End If 
1

ObjectContext.CreateInstance va ben (modo) torna a Microsoft Transaction Server (MTS). Sembra che in COM + non sia più necessario creare oggetti tramite il contesto dell'oggetto. Sotto COM +, regolare CreateObject() fa la cosa giusta.

Ho trovato queste informazioni qui: http://blogs.msdn.com/b/deva/archive/2012/01/19/com-mts-custom-application-createobject-or-createinstance.aspx.

Nel caso in cui il blog dovrebbe sparire, qui i contenuti testuali:

Recentemente stavo lavorando con un cliente sviluppatore, che ha creato una soluzione/COM + Visual Basic base (utilizza internamente la libreria Microsoft Messaging). In generale, vuole sapere se utilizzare CreateObject o CreateInstance? Se entrambi avranno lo stesso o lo stesso effetto in COM +?

In Microsoft Transaction Server (MTS), è necessario utilizzare ObjectContext.CreateInstance nell'oggetto root per creare oggetti secondari per il flusso della transazione. In COM + funziona ancora, ma non è più necessario farlo. In COM +, CreateObject include la funzionalità di ObjectContext.CreateInstance. L'oggetto creato partecipa all'attività del chiamante. In COM +, è possibile utilizzare la funzione standard CreateObject in Microsoft Visual Basic per trasferire una transazione agli oggetti secondari in base alle esigenze. Quindi, CreateObject e CreateInstance hanno lo stesso effetto in COM +.