Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: PictureBox Run-time error

tesmu [13.08.2009 21:48:07]

#

Eli käytän tälläistä koodia.

Private Sub Command17_Click()

  KeyToObject("test").Cls


End Sub



Private Function KeyToObject(part As String) As PictureBox

On Error Resume Next
Select Case LCase(part)
Case "test"
     KeyToObject = testpicturebox

End Select
End Function

Saan kuitenkin seuraavan virheilmoituksen.

Run-time error '91: Object variable or With block variable not set


Mistä moinen mahtaisi johtua?

testpicturebox on PictureBox -objekti

Freeze [13.08.2009 22:03:00]

#

index ei voi olla string

sen sijaan voisit taiteilla koko viritelmän toimimaan Type-moduulin kanssa

Grez [13.08.2009 22:26:20]

#

Ärsyttävää kun ei voi sitä kieltä kertoa...

Mutta oletetaan nyt, että tuo on VB6 (virheilmoituksen perusteella voisi olla se)

Jos kyseessä on VB6, vika on syntaksissa. Eli pitäisi olla:

Private Sub Command17_Click()
    KeyToObject("test").Cls
End Sub
Private Function KeyToObject(part As String) As PictureBox
    Select Case LCase(part)
    Case "test"
        Set KeyToObject = testpicturebox
    End Select
End Function

VB.Netissä esim. ei käytetät Setiä objektejakaan sijoitettaessa, mutta siinä ei tulisi esimerkkikoodilla tuota virheilmoitusta.

tesmu [13.08.2009 22:47:03]

#

Freeze kirjoitti:

index ei voi olla string

sen sijaan voisit taiteilla koko viritelmän toimimaan Type-moduulin kanssa

Jos oikeen tarkkaan katsot, niin missään ei ole indexiä. Vaan kyseinen funktio haluaa stringimuotosen "key":n josta sitten katsotaan select casella, että mitä objektia haetaan ja palautetaan kyseiselle avaimelle kuuluva picturebox-objekti.

Grezille suuri kiitos, nyt toimii.

Vastaus

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

Tietoa sivustosta