Mitä tuo tarkoittaa? Toi tulee ja VB6 valittaa kohtaa "strFilter" (3. rivi koodista)
Private Sub cmdOpen_Click() On Error GoTo dbErrHandler strfilter = "Tekstitiedostot (*.txt)|*.txt|" & _ "Kaikki tiedostot (*.*)|*.*" cdmain.Filter = strfilter cdmain.ShowOpen If cdmain.FileName <> "" Then strfilename = cdmain.FileName filehandle = FreeFile Open strfilename For Input As #filehandle MousePointer = vbHourglass Do While Not EOF(filehandle) Line Input #filehandle, strbuffer strText = strText & strbuffer & vbCrLf Loop MousePointer = vbDefault Close #filehandle Text1.Text = strText End If Exit Sub dbErrHandler: Exit Sub End Sub
Kokeilepa lisätä rivi Dim strfilter As String
tuon on error goto -kohdan alle ;)
Ainakin ilmo viittaa vahvasti siihen, ettei muuttujaa todellakaan ole määritelty.
Nyt se kohta alko toimia, mutta nyt se valittaa toisesta kohdasta (1: "For cCode " 1 To len(xString)") sitä samaa ja jos laitan siihenkin "error goto" - kohdan alle "Dim cCode as String" niin sit se valittaa "Type mismatch".
1:
Private Function Converter(xString As String) As String On Error GoTo FinaliseError For cCode = 1 To Len(xString) Dim conv As String conv = conv + (100 / Len(xString)) PgrLabel.Caption = CLng(conv) & "%" Image1.Width = (Picture1.Width / Len(xString)) * conv * (Len(xString) / 100) Converter = Converter + Chr(FindOppAsc(Asc(Mid(xString, CInt(cCode), 1)))) Next cCode Form_Load hidehide.Enabled = True Exit Function FinaliseError: hidehide.Enabled = True MsgBox "Error, the string that was meant be be coded / decoded was too long.", vbCritical, "Error" End Function
Sit mulla on toinenkin virhe "Object already loaded" kohdassa 2 (Alla: "UDPListen.LocalPort = 27976"). Ja jos teen siitä .exen ja yritän käyttää tulee joskus joku "Broadcast jne." virhe.
2.
Private Sub Form_Load() App.TaskVisible = True mnu_User.Visible = False UDPListen.LocalPort = 27976 broadcast.RemotePort = 27976 broadcast.RemoteHost = "255.255.255.255" UDPListen.Bind broadcast.Bind CurrentBlock = -1 Username = modChat.GetWindowsUser ' If Username = "" Then Username = modChat.GetWindowsUser End If If Username = "" Then Username = "Anonymous" ' Still no user ? Ok...It's anonymous :P MyIcon = "user" ' SetActivity "U- D-" ' mnu_waketype_Click 1 ' Set MySysTray = New cSystray MySysTray.Initialize Me.hwnd, Me.Icon, "Network Chat" MySysTray.ShowIcon setSystrayActivity NoActivity status.Panels("ip").Text = MyIP chat.Text = "" GetSystemInfo Logon End Sub
No tohon ykköskohtaan ainakin:
Ei sitä cCode:a voi määritellä merkkijonoksi (string),
vaan se pitää määritellä kokonaisluvuksi, koska talletat siihen numeroita. Eli näin:
Dim cCode as integer
Tuo virheilmoitus (Variable not defined) johtuu siitä, että koodisi alussa käytät valintaa...
Option Explicit
...jolla pakotetaan esittelemään muuttujat ennen niiden käyttöä, muttet sitten esittelekkään niitä (Dim -hässäkkä).
Aihe on jo aika vanha, joten et voi enää vastata siihen.