Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

vb6 argument not optional...

raptor86
10 antwoorden
  • ik ben net begonnen met visual basic maar ik snap iets niet:

    waarom krijg ik deze error:
    [code:1:4fbe222020]compile error: argument not optional[/code:1:4fbe222020]
    bij deze code:?
    [code:1:4fbe222020]Private Sub btn_login_Click()
    username$ = txt_username
    End Sub[/code:1:4fbe222020]
    txt_username is een tekstbox.
    bij het form dat voor dit form komt werkt het wel!?! :-?

    het tweede form heb ik tevoorschijn gehaald dmv:
    [code:1:4fbe222020]form_createnew.Show[/code:1:4fbe222020]
  • Probeer dit eens
    [code:1:df178803a8]Private Sub btn_login_Click()
    username$ = txt_username.text
    End Sub[/code:1:df178803a8]

    Je kunt geen textbox aan een string variabele toekennen, wel de text in de textbox
  • [quote:418a48b37c]Private Sub btn_login_Click()
    username$ = txt_username.Text
    End Sub[/quote:418a48b37c]
    dan krijg ik de error:
    compile error: method or data member not found
    ???

    en in een ander form heb ik staan:
    [code:1:418a48b37c]Private Sub btn_go_Click()
    username$ = txt_username
    FileName$ = txt_username
    password$ = txt_password
    Unload form_login
    Set form_login = Nothing
    Mainform.Show
    End Sub[/code:1:418a48b37c]
    en dat werkt wel want vervolgens kan ik username$ in een label laten zien in mainfom.

    ik zorg ervoor dat alle forms de variabelen kunnen gebruiken dmv een module met 'global'

    waarom werkt het niet gewoon :-?
  • Niet alles goed gelezen, je wilt username$ vullen met de waarde van het textbox op een ander formulier genaamd form_createnew?

    [code:1:15c261f641]
    Private Sub btn_login_Click()
    username$ = form_createnew.txt_username.text
    End Sub
    [/code:1:15c261f641]
  • hmm, ik snap het al :D
    hij heeft dus doordat ik textboxes had gekopieerd, geplakt en toen gerenamed er arrays (ofzo) van gemaakt.
    nu is het dus niet txt_username, maar txt_username(0) :-?
    het zijn ook altijd van die stomme foutjes ;)
    maar volgens mij werkt de code:
    [code:1:d0220969af]username$ = txt_username(0)[/code:1:d0220969af]
    wel gewoon, daar is VB dus niet zo streng in.

    iniedergeval bedankt voor je hulp!
  • [quote:988463b467]
    [code:1:988463b467]username$ = txt_username(0)[/code:1:988463b467]
    wel gewoon, daar is VB dus niet zo streng in.

    iniedergeval bedankt voor je hulp![/quote:988463b467]

    Dat heeft niets te maken met ev. strengheid van vb maar gewoon met het feit dat de .text property de default property is van de textbox-control. Iedere control heeft een default-property die benaderd wordt als je verder niets specificeert. Behaviour by design dus.
  • ooh zo, dat wist ik niet…
    en hoe stel je dan een andere als standaard in?

    p.s.
    ik heb ondertussen de arrays weggehaald, twerkt
  • Kan niet. Als je een andere property wilt benaderen moet je hem gewoon bij zijn naam noemen.
  • ok

    ik bedoelde eigenlijk met "strengheid" dat hij
    [quote:a775b3607a]
    username$ = txt_username(0)
    [/quote:a775b3607a]
    ook goedkeurde ipv:
    [quote:a775b3607a]
    username$ = txt_username(0).Text
    [/quote:a775b3607a]
  • Het is het veiligst als je altijd standaard de dingen bij naam noemt, dan hoef je nooit meer te onthouden wat nu de default value is en het maakt je code een stukje duidelijker.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.