Release variabel
I følgende kode får jeg fejlen (cboComport i linien markeret med **) "Compile error: Argument not optional". Jeg tror selv, det er fordi comboControl allerede indeholder en værdi, kan ikke finde ud af at frigøre variablen. Er der en venlig sjæl der kan hjælpe ?PS. Jeg har leget med VB for mange år siden og har nu gravet det frem igen, for sjov.
Option Explicit
Dim strFilnavn As String
Dim strfHent() As String
Dim comboControl As ComboBox
Dim i As Integer
Private Sub sCboModem()
strFilnavn = "\data\Kommunikation.csv"
Set comboControl = cboModem
comboControl = cboModem
Call pHent(strFilnavn, comboControl)
End Sub
Private Sub sCboComport()
strFilnavn = "\data\Comport.csv"
Set comboControl = cboComport
** comboControl = cboComport
'Kalder proceduren pHent i modulet, der udfylder en combobox.
Call pHent(strFilnavn, comboControl)
End Sub
Private Sub Form_Load()
sCboModem
sCboComport
End Sub
Modul 1
Sub pHent(strFilnavn As String, comboControl As ComboBox)
Dim Navn(200) As String
Dim AntalNavne As Integer
Dim FilNavn As String
Dim FilNummer As Integer
Dim NavnId As Integer
Dim strContainer() As String
'Nulstiller tæller
AntalNavne = 0
'Hent et frit filnummer
Let FilNummer = FreeFile
'Sæt bibliotek med fil der skal læses
Let FilNavn = App.Path & strFilnavn
'Åben [sti til fil] som binær
Open FilNavn For Binary As #FilNummer
'Læs til slutningen af filen
'Tæl en op, hver gang løkken køres
'Læs første line i filen
Do While EOF(FilNummer) = False
AntalNavne = AntalNavne + 1
Line Input #FilNummer, Navn(AntalNavne)
Loop
'Luk filen for læsning
Close #FilNummer
'Skiller teksttrengen ad
strContainer() = Split(Navn(AntalNavne), ",")
For i = LBound(strContainer) To UBound(strContainer)
comboControl.AddItem strContainer(i)
comboControl.ListIndex = 0
Next i
End Sub