Mistä ihmeestä voi johtua että tuo toinen inStr kohta heittää virhettä "invalid procedure call" ja kun laitan hiiren noiden arvojen päälle niin tmpI ja tmp2 on kummatkin 0, mutta tuo msgbox sanoo 360? Ja se menee tuon if-tarkistuksen ohikin..
Dim tmpI As Double, tmp2 As Double, rspLen As Double tmp2 = 1 rspLen = Len(Response) Do While tmpI < rspLen - 30 tmpI = InStr(tmp2, Response, "<track href=") If tmpI = 0 Then getLink = False Exit Function End If tmp2 = tmpI 'MsgBox tmpI & " " & tmpStart & " " tmpI = InStr(Val(tmp2), Response, "<name>")
Ja siis kummatkin nuo löytyvät kyllä Responsesta.. tuhansia kertoja.
Oletko varma, että virhe tulee silmukan ensimmäisellä kierroksella eikä vasta siinä vaiheessa, kun päästään loppuun?
Miksi käytät Double-tyyppiä, kun indeksit ovat kuitenkin kokonaislukuja?
En ole varma. Yritin laittaa että se tulostaa koko ajan noita arvoja yms plRdy nimiseen textboxiin, mutta se menee ohjelman otsikoksi??
plRdy.Text = trckStr & " artist: " & artistStr & " tmp2" & tmp2 & vbCrLf & plRdy
Tuommoinen on nyt heti tuon do while rivin jälkeen. Ohjelman otsikoksi menee "plRdy.Text = trckStr & " artist: " & artistStr & " tmp2" & tmp2 & vbCrLf & plRdy"
..wtf
Tyyppi on nyt Integer.
Tuohon ekaan kohtaan: Kun se antaa virheilmoituksen niin valitse siitä että "debug" ja katso mitä missäkin muuttujassa on arvona.. (Kun menet hiirellä muuttujan päälle niin se kertoo)..
Ei oo oikeesti noin vaikeaa debugata VB6:ssa..
Jotenkin äärimmäisen ärsyttävää kun kysyt meiltä mikä ohjelmassasi on vialla, etkä laita edes koko relevanttia koodia näkyville.. Siis tuossa ekassa postauksessa ei ole edes Do -loopin loppua näkyvissä!
Toiseen kohtaan: Vaikuttaa aika oudolta. Laita vaikka koko koodi johonkin näkyville.
Aihe on jo aika vanha, joten et voi enää vastata siihen.