Przykładowa aplikacja, utworzona w programie Visual Basic w wesji 5.0, ma na celu ilustrację sposobu korzystania z metod obiektów Catalog, CatalogObject i CatalogCollections, automatyzujących podstawowe czynności administracyjne dla pakietu o nazwie “Scriptable Admin Demo”.
Notka Projekt utworzony w języku Visual Basic należy skonfigurować tak, aby odwoływał się do biblioteki typów administracyjnych programu MTS (biblioteki typów MTSAdmin). W tym celu na pasku narzędzi projektu należy zaznaczyć opcję References. Następnie należy przeszukać dostępne pliki odwołań i odszukać plik o nazwie “MTS 2.0 Admin Type Library”. W przypadku zmiennych "wiązanych później" (wiązanie ustalane po uruchomieniu programu) i uprzedniej rejestracji w komputerze lokalnym pliku MTXADMIN.DLL program Visual Basic zlokalizuje bibliotekę typów bez dalszej konfiguracji.
Aby usunąć jakiekolwiek istniejące pakiety o nazwach “Scriptable Admin Demo”
Dim catalog As Object Set catalog = CreateObject("MTSAdmin.Catalog.1")
Dim packages As Object Set packages = catalog.GetCollection("Packages")
packages.Populate Dim pack As Object n = packages.Count For i = n - 1 To 0 Step -1 If packages.Item(i).Value("Name") = "Scriptable Admin Demo" Then packages.Remove (i) End If Next
packages.SaveChanges
Aby utworzyć nowy pakiet o nazwie “Scriptable Admin Demo Package”
Dim newPack As Object Dim newPackID As Variant Set newPack = packages.Add newPackID = newPack.Value("ID")
newPack.Value("Name") = "Scriptable Admin Demo" newPack.Value("SecurityEnabled") = "N"
n = packages.SaveChanges
Aby uaktualnić właściwości pakietu “Scriptable Admin Demo” i pobrać kolekcję ComponentsInPackage.
Dim keys(0) as Variant keys(0) = newPackId packages.PopulateByKey keys
Dim package As Object Set package = packages.Item(0)
package.Value("SecurityEnabled") = "Y"
Set components = packages.GetCollection("ComponentsInPackage",_ package.Key)
packages.SaveChanges
Aby zainstalować składnik componentasdefcomponent w pakiecie "Scriptable Admin Demo package":
Dim util As Object Set util = components.GetUtilInterface On Error GoTo installFailed
Form2.Show 1 Dim thePath As String thePath = Form2.MTSPath + "\samples\packages\vbacct.dll" util.InstallComponent thePath, "", "" Dim installedCLSIDs() as Variant util.GetCLSIDs thePath, “”, installedCLSIDs On Error GoTo 0
components.PopulateByKey installedCLSIDs
Aby odszukać składnik Bank.CreateTable i usunąć go z pakietu "Scriptable Admin Demo package":
Dim component As Object n = components.Count For i = n - 1 To 0 Step -1 Set component = components.Item(i) component.Value("Transaction") = "Required"
Bank.CreateTable
. Kolekcja jest przeglądana wstecz, indeks po indeksie, a metoda Remove jest wywoływana w pętli. If component.Value("ProgID") = "Bank.CreateTable" Then components.Remove (i) End If Next
Bank.CreateTable
zostanie usunięty ze zbioru danych dopiero po wywołaniu metody SaveChanges. Wyświetl okno komunikatu, informujące użytkownika o pomyślnym zakończeniu instalacji.n = components.Count For i = 0 To n - 1 Set component = components.Item(i) Debug.Print component.Value("ProgID") Debug.Print component.Value("DLL") Next n = components.SaveChanges MsgBox "Scriptable Admin Demo package installed and configured." Exit Sub installFailed: MsgBox "Error code " + Str$(Err.Number) + " installing " + thePath + " Make sure the MTS path you entered is correct and that vbacct.dll is not already installed." End Sub
Zobacz też
Obiekty administracyjne programu MTS, Typy kolekcji programu MTS, Metody obiektów administracyjnych programu MTS, Automatyzacja czynności administracyjnych programu MTS za pomocą programu Visual Basic, Automatyzacja zaawansowanych czynności administracyjnych programu MTS za pomocą programu Visual Basic