2013-10-01 10 views
5

Mam obiektu VB6 COM, że jestem konwersji do VB.Net 2012Odpowiednik dla getobjectcontext() w visual studio 2012 vb.net?

Mój przykładowy kod wygląda następująco:

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 

Co jest odpowiednikiem GetObjectContext() i createInstance() w VB 2012 ?

Jak mogę usunąć tę koncepcję z .net?

+1

@ Co sprawiło, że głosujesz, aby zamknąć to pytanie jako duplikat? Byłeś pierwszy i czterech innych poszło za tobą. Zobacz [ten meta post, który doprowadził mnie tutaj] (http://meta.stackexchange.com/q/199313/152859). –

Odpowiedz

1

Spróbuj tego:
myślę u want to

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 idzie sposób (sposób) do Microsoft Transaction Server (MTS). Wydaje się, że w COM + nie jest już konieczne tworzenie obiektów poprzez kontekst obiektowy. W COM + zwykłe CreateObject() robi to, co trzeba.

Znalazłem tę informację tutaj: http://blogs.msdn.com/b/deva/archive/2012/01/19/com-mts-custom-application-createobject-or-createinstance.aspx.

W przypadku, że blog powinien zniknąć, oto treść verbatim:

Niedawno byłem w pracy z klientem dewelopera, który stworzył rozwiązanie oparte o Visual Basic/COM + (wewnętrznie używa biblioteki Microsoft Messaging). Na ogół chce wiedzieć, czy powinny używać CreateObject lub CreateInstance? Czy oba będą miały ten sam lub inny taki sam efekt w COM +?

W Microsoft Transaction Server (MTS), należy użyć obiektu ObjectContext.CreateInstance w obiekcie głównym, aby utworzyć obiekty dodatkowe, aby transakcja mogła przepływać. W COM + nadal działa, ale nie jest już konieczne, aby to zrobić. W COM +, CreateObject podciąga funkcjonalność ObjectContext.CreateInstance. Utworzony obiekt uczestniczy w aktywności dzwoniącego. W COM + można użyć standardowej funkcji CreateObject w Microsoft Visual Basic, aby w razie potrzeby przepuścić transakcję do obiektów dodatkowych. Tak więc, CreateObject i CreateInstance mają ten sam efekt w COM +.