Mengenai cara mensetting Startup object yang bukan Sub Main (maksudnya Form) dalam project yang dibuat dengan Visual Basic 6 Add-Ins - Setelah membahas mengenai Startup Object dengan Sub Main, sekarang permasalahannya bagaimana jika bukan Sub Main tetapi Form tertentu yang akan dijadikan Startup Object, misalnya 'frmMain', 'frmSplashScreen', dan sebagainya? Perhatikan dalam tulisan Object Browser (dengan menekan F2) tertulis, seperti di bawah:
Property StartUpObject As Variant Member of VBIDE.VBComponents Returns a Variant containing the startup component for the project.
Dengan demikian kita tidak bisa mengassign value seperti kode di bawah:
VBInstance.ActiveVBProject.VBComponents.StartUpObject = "frmMain"
dengan asumsi ingin menjadikan frmMain sebagai
Startup Object. Kode tersebut akan men-
generate error. Maka solusinya seperti di bawah:
Public VBInstance As VBIDE.VBE
Public Connect As Connect
Option Explicit
Private Sub CancelButton_Click()
Connect.Hide
End Sub
Private Sub OKButton_Click()
SetStartUpObject "frmMain"
End Sub
Private Function SetStartUpObject(c As String) As Boolean
Dim v As VBComponent
Set v = VBInstance.ActiveVBProject.VBComponents.Item(c)
VBInstance.ActiveVBProject.VBComponents.StartUpObject = v
End Function
Kode di atas hanya kode sederhana saja, tentu saja dalam kenyataannya ia telah dilengkapi dengan handle error yang memadai serta check beberapa kondisi, misalnya Check apakah frmMain ada? dan sebagainya.