Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Ohjelma piiloutuu [Auttakaa kaikki]

Sivun loppuun

Quirzo [04.04.2006 11:24:11]

#

Siis ohjelmassani on joku ongelma. Kun ensimmäinen formi, jossa näkyy ohjelman nimi ym. (splash) piiloutuu, niin seuraava formi ei suostu näkymään KAIKILLA koneilla. Oon koittanut monilla samanlaisilla koulun koneilla, ja osalla toimii, osalla ei. Myös parilla kaverilla ei toimi. Mistä vois johtua?
Auttakaa nopeesti

ville-v [04.04.2006 14:26:46]

#

Vaikuttaa siltä että ohjelmassasi on bugi. Olisikohan ohjelman lähdekoodin antamisesta mitään apua?

Quirzo [04.04.2006 16:24:59]

#

Private Sub Form_Load()
On Error Resume Next
'progressbarin taustaväri
SetPBBackColor progressbar1.hwnd, RGB(0, 0, 0)
SetPBBarColor progressbar1.hwnd, RGB(255, 0, 0)
Me.Show



progressbar1.Value = "25"




   Dim sngTime2


sngTime2 = Timer + 1

Do While Timer < sngTime2
   DoEvents
Loop


'Tarkastetaan, että onko päivityksiä saatavilla.


Dim infoversio
'On Error GoTo virhe
'Dim Inet2 As Object
'Set Inet2 = CreateObject("InetCtls.Inet")

infoversio = Inet2.OpenURL("http://personal.inet.fi/peli/iskari/qswitch/versio2.txt")
If InStrRev(infoversio, "<html>") Then
GoTo virhe
End If
'Dim Inet1 As Object
'Set Inet1 = CreateObject("InetCtls.Inet")
progressbar1.Value = "50"
Dim sourcec


sourcec = Inet1.OpenURL("http://personal.inet.fi/peli/iskari/qswitch/versio.txt")

''''''''''''''''''''''''''''''''
'Tätä koitin, siksi se on tässä'
Load twoK
''''''''''''''''''''''''''''''''

teksti2.Visible = True

'Jos tulee esim 404, niin huomataan se katsomalla onko sivulla <html>

If sourcec > "1190" Then
If InStrRev(sourcec, "<html>") Then
GoTo virhe
End If
If InStrRev(sourcec, "<HTML>") Then
GoTo virhe
End If

'Jos löytyy uudempi versio niin msgbox

If MsgBox("Saatavana versio " & infoversio & " Ladataanko?", vbYesNo + 64, "Päivitys saatavilla!") = vbYes Then
download.Show
    Exit Sub
End If
End If

'Aloitussivu

Dim aloitussivu
aloitussivu = GetSetting("QSwitch", "Asetukset", "alkusivu", "http://www.quirzo.urli.net/")
twoK.WebBrowser1.Navigate aloitussivu




progressbar1.Value = "75"

''Haetaan rekisteristä asetukset

''Ekakerta
Dim ekakerta
ekakerta = GetSetting("QSwitch", "Asetukset", "ekakerta", "1")

''Ohjelman sijainti
Dim sijainti
sijainti = GetSetting("QSwitch", "Asetukset", "sijainti", "0")
If sijainti = "0" Then
SaveSetting "qswitch", "Asetukset", "sijainti", App.Path
End If
''Java
Dim java
java = GetSetting("QSwitch", "Asetukset", "java", "0")

''Oma tausta ja fonttiväri
Dim omavari
omavari = GetSetting("QSwitch", "Asetukset", "omavari")

''Serverlista
Dim lista
lista = GetSetting("QSwitch", "Asetukset", "serverlista", "0")


'Värit muutetaan!

On Error Resume Next
If omavari = "1" Then
Dim vari
Open App.Path & "/oma_taustaväri.ini" For Input As #1
Input #1, vari
twoK.BackColor = vari
twoK.txtuser.BackColor = vari
twoK.serveri.BackColor = vari
twoK.serveri.BackColor = vari
'twoK.overall(0).BackColor = vari
twoK.frame1.BackColor = vari
twoK.Frame3.BackColor = vari
'twoK.member.BackColor = vari
'twoK.free.BackColor = vari



twoK.Frame4.BackColor = vari
twoK.Frame5.BackColor = vari
'twoK.Label1.BackColor = vari
'twoK.Label2.BackColor = vari
'statsit
twoK.txtuser.BackColor = vari
twoK.overall(1).BackColor = vari
twoK.lblSkilltotal(1).BackColor = vari
twoK.lblattack(1).BackColor = vari
twoK.lblStrength(1).BackColor = vari
twoK.lbldefence(1).BackColor = vari
twoK.lblprayer(1).BackColor = vari
twoK.lblranged(1).BackColor = vari
twoK.lblmagic(1).BackColor = vari
twoK.lblrunecrafting(1).BackColor = vari
twoK.lblHP(1).BackColor = vari
twoK.lblagility(1).BackColor = vari
twoK.lblherblore(1).BackColor = vari
twoK.lblthieving(1).BackColor = vari
twoK.lblcrafting(1).BackColor = vari
twoK.lblfletching(1).BackColor = vari
twoK.lblslayer(1).BackColor = vari
twoK.lblmining(1).BackColor = vari
twoK.lblsmithing(1).BackColor = vari
twoK.lblfishing(1).BackColor = vari
twoK.lblcooking(1).BackColor = vari
twoK.lblfm(1).BackColor = vari
twoK.lblwc(1).BackColor = vari
twoK.lblfarming(1).BackColor = vari
twoK.statsiframe.BackColor = vari
twoK.Label4.BackColor = vari
Statsit.BackColor = vari
twoK.detail.BackColor = vari

twoK.overall(1).BackColor = vari
twoK.combat(0).BackColor = vari



Close #1

Open App.Path & "/oma_fonttiväri.ini" For Input As #1
Dim vari2
Input #1, vari2

'twoK.member.BackColor = vari2
'twoK.free.BackColor = vari2
twoK.Status.ForeColor = vari2
twoK.txtuser.ForeColor = vari2
twoK.Line4.BorderColor = vari2
twoK.overall(1).ForeColor = vari2
twoK.Shape2(1).BorderColor = vari2
twoK.overall(0).ForeColor = vari2

twoK.detail.ForeColor = vari2
twoK.frame1.ForeColor = vari2
twoK.Label4.ForeColor = vari2
twoK.Frame3.ForeColor = vari2
twoK.Frame4.ForeColor = vari2
twoK.Frame5.ForeColor = vari2
twoK.serveri.ForeColor = vari2
twoK.serveri.ForeColor = vari2
twoK.Line1.BorderColor = vari2
twoK.raami.BorderColor = vari2
twoK.Line2.BorderColor = vari2
twoK.overall(1).ForeColor = vari2

Close #1





Else

Dim r As Integer
Dim g As Integer
Dim b As Integer

r = GetSetting("QSwitch", "Asetukset", "tausta-pun", "0")
g = GetSetting("QSwitch", "Asetukset", "tausta-vih", "0")
b = GetSetting("QSwitch", "Asetukset", "tausta-sin", "0")

twoK.BackColor = RGB(r, g, b)
twoK.txtuser.BackColor = RGB(r, g, b)
twoK.serveri.BackColor = RGB(r, g, b)
twoK.serveri.BackColor = RGB(r, g, b)
twoK.overall(0).BackColor = RGB(r, g, b)
twoK.frame1.BackColor = RGB(r, g, b)
twoK.Frame3.BackColor = RGB(r, g, b)


twoK.Frame4.BackColor = RGB(r, g, b)
twoK.Frame5.BackColor = RGB(r, g, b)
'twoK.Label1.BackColor = RGB(r, g, b)
'twoK.Label2.BackColor = RGB(r, g, b)
'statsit
twoK.txtuser.BackColor = RGB(r, g, b)
twoK.overall(1).BackColor = RGB(r, g, b)
twoK.lblSkilltotal(1).BackColor = RGB(r, g, b)
twoK.lblattack(1).BackColor = RGB(r, g, b)
twoK.lblStrength(1).BackColor = RGB(r, g, b)
twoK.lbldefence(1).BackColor = RGB(r, g, b)
twoK.lblprayer(1).BackColor = RGB(r, g, b)
twoK.lblranged(1).BackColor = RGB(r, g, b)
twoK.lblmagic(1).BackColor = RGB(r, g, b)
twoK.lblrunecrafting(1).BackColor = RGB(r, g, b)
twoK.lblHP(1).BackColor = RGB(r, g, b)
twoK.lblagility(1).BackColor = RGB(r, g, b)
twoK.lblherblore(1).BackColor = RGB(r, g, b)
twoK.lblthieving(1).BackColor = RGB(r, g, b)
twoK.lblcrafting(1).BackColor = RGB(r, g, b)
twoK.lblfletching(1).BackColor = RGB(r, g, b)
twoK.lblslayer(1).BackColor = RGB(r, g, b)
twoK.lblmining(1).BackColor = RGB(r, g, b)
twoK.lblsmithing(1).BackColor = RGB(r, g, b)
twoK.lblfishing(1).BackColor = RGB(r, g, b)
twoK.lblcooking(1).BackColor = RGB(r, g, b)
twoK.lblfm(1).BackColor = RGB(r, g, b)
twoK.lblwc(1).BackColor = RGB(r, g, b)
twoK.lblfarming(1).BackColor = RGB(r, g, b)
twoK.statsiframe.BackColor = RGB(r, g, b)
twoK.Label4.BackColor = RGB(r, g, b)
Statsit.BackColor = RGB(r, g, b)
twoK.detail.BackColor = RGB(r, g, b)

twoK.overall(1).BackColor = RGB(r, g, b)
twoK.combat(0).BackColor = RGB(r, g, b)

progressbar1.Value = "100"

Dim p As Integer
Dim v As Integer
Dim s As Integer

p = GetSetting("QSwitch", "Asetukset", "fontti-pun", "255")
v = GetSetting("QSwitch", "Asetukset", "fontti-vih", "0")
s = GetSetting("QSwitch", "Asetukset", "fontti-sin", "0")

twoK.Status.ForeColor = RGB(p, v, s)
twoK.txtuser.ForeColor = RGB(p, v, s)
twoK.Line4.BorderColor = RGB(p, v, s)
twoK.overall(1).ForeColor = RGB(p, v, s)
twoK.Shape2(1).BorderColor = RGB(p, v, s)
twoK.overall(0).ForeColor = RGB(p, v, s)
twoK.raami.BorderColor = RGB(p, v, s)
twoK.detail.ForeColor = RGB(p, v, s)
twoK.frame1.ForeColor = RGB(p, v, s)
twoK.Label4.ForeColor = RGB(p, v, s)
twoK.Frame3.ForeColor = RGB(p, v, s)
twoK.Frame4.ForeColor = RGB(p, v, s)
twoK.Frame5.ForeColor = RGB(p, v, s)
twoK.serveri.ForeColor = RGB(p, v, s)
twoK.serveri.ForeColor = RGB(p, v, s)
twoK.Line1.BorderColor = RGB(p, v, s)

twoK.Line2.BorderColor = RGB(p, v, s)
twoK.overall(1).ForeColor = RGB(p, v, s)


End If
   Dim sngTime3


sngTime3 = Timer + 1

Do While Timer < sngTime3
   DoEvents
Loop

'Haetaan detail -asetukset

Dim detail
detail = GetSetting("QSwitch", "Asetukset", "detail", "0")

If detail = "1" Then
twoK.detail.Value = "1"
Else
twoK.detail.Value = "0"
End If




If lista = "1" Then
servut.Show
End If

'''ONGELMA ON EHKÄ TÄSSÄ?

twoK.Visible = True 'tämä ei kaikilla näy
Me.Visible = False 'tämä (siis eka formi) kyllä piiloutuu

Exit Sub

virhe:
virhe.Caption = "Päivityksiä ei voitu tarkastaa."

End Sub

Kyseessähän on siis runescape -peliin clientti. Jotain kommentteja siihen oon laittanu.
Tuossa on siis sen ekan formin form_load() subi
Ja toisen formin nimi on twoK
Kyselkää jos tarviitte apua

Metabolix [04.04.2006 16:46:34]

#

Sitä voi käyttää järkeä, kun miettii, mitä osia koodista kannattaa pasteta. Sisennyksetkin olisivat paikallaan. Sanon suoraan, että minua ei ainakaan kiinnosta lukea noin sottaista koodia läpi, varsinkin, kun siitä ehkä 1% on oleellista bugin kannalta. Varmaankin twoK.Show olisi kuitenkin paikallaan, eikö?

Quirzo [04.04.2006 21:02:57]

#

Metabolix kirjoitti:

Sitä voi käyttää järkeä, kun miettii, mitä osia koodista kannattaa pasteta. Sisennyksetkin olisivat paikallaan. Sanon suoraan, että minua ei ainakaan kiinnosta lukea noin sottaista koodia läpi, varsinkin, kun siitä ehkä 1% on oleellista bugin kannalta. Varmaankin twoK.Show olisi kuitenkin paikallaan, eikö?

oon koittanu, mut lisätään se ny kuiteski

matpit [04.04.2006 22:04:55]

#

Tai kokeileppa

Load twoK
twoK.Show

Merri [05.04.2006 02:06:10]

#

Yleinen pikakurssi!

Load lataa objektin muistiin. Tämä ei kuitenkaan ole välttämätöntä, sillä latautuminen tapahtuu aina automaattisesti jos objektia kutsutaan tai käsitellään. Yksinkertainen esimerkki: aloita uusi projekti, lisää toinen formi ja kirjoita ykkösformiin koodirivi, joka vaihtaa form2:n otsikon. Ei mitään muuta. Sitten käynnistä projekti ja sulje form1 ruksista. Ohjelma ei sammu tähän, koska form2 on ladattu muistiin.


Tähän ongelmatapaukseen suosittelen kuitenkin debuggaamisen opettelua. Lisää epäilyttäviin kohtiin MsgBox "Kohta 1" jne., jolloin voit tutkia mikä kohta koodista suoritetaan. Tässä tapauksessa, koska Form1 sulkeutuu näkyviltä (tosin suosittelisin käyttämään Unloadia, mikäli Form1:htä ei tarvita enää toiste), on ongelma selkeästi twoK:n latauskoodissa. Siellä ensimmäisenä etsisin kaikki Do...Loopit, sillä ne aiheuttavat tällaisia "mitään ei tule näkyviin" -ongelmia Form_Loadiin sijoitettuna, jos luuppi jääkin junnaamaan loputtomiin yhtä ja samaa.

Arttut02 [05.04.2006 15:50:54]

#

Koitappa ottaa On Error Resume Next pois.. sen jälkeen lue virheilmoitus (jos sellainen tulee)..

Quirzo [05.04.2006 18:21:43]

#

Nyt koitin korjata virheitä, joita tulee kun otan sen pois.
Nyt tulee virhe run-time error '-1(ffffffff)'
Miten saisin ton pois?

Merri [06.04.2006 00:09:39]

#

Millä rivillä se tulee? Jos et tiedä, lisää neuvoni mukaan noita MsgBox-rivejä muutamia, jotta voit jotenkin paikantaa virheen sijaintia. Pelkkä virheilmoitus ei kerro mitään.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta