Springen naar inhoud


- - - - -

Vb2019 Foutmelding

VS2015

  • Log in a.u.b. om te beantwoorden
Er zijn 2 reacties in dit onderwerp

#1 jetu

jetu

    Starting Developer

  • Leden
  • 11 berichten
    Laatst bezocht 27 mei 2020 11:04
  • LocatieBelgië

Geplaatst op 07 mei 2020 - 19:08

Geachte,

Kan iemand mij zeggen wat de fout in bijlage betekent. Ik probeer een tekstvak uit form 2 over te zetten naar form 1.
Weet niet wat de fout wil zeggen en hoe ik ze moet verhelpen.

Bijgevoegde Bestanden



#2 Supervos

Supervos

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1411 berichten
    Laatst bezocht 27 jul 2020 14:55
  • LocatieBrugge

Geplaatst op 07 mei 2020 - 19:59

Voor anderen die het bestand niet durven/willen downloaden.

Er is volgende code:
Visual Basic Code:
frkas.cola = scola.Text


en dit geeft volgende fout:

Citeren

System.InvalidCastException: De conversie van tekenreeks Cola naar type Single is ongeldig.

Deze fout betekent dat je de tekst 'Cola' die uit de textbox 'scola.Text' komt niet kan worden omgezet naar een getal. Als je in de textbox een geldig getal ingeeft zal de conversie wel lukken.


Een van de redenen dat je dit at-runtime krijgt is omdat Visual Basic je probeert te helpen en voor jou extra code toevoegt dat de omvorming van een string (tekst) naar een getal (in dit geval een single, een kommagetal met lage precisie) doet.
Als je al bij het compileren een foutmelding wilt krijgen dat je een conversie van het ene type naar een ander (niet onmiddelijk) compatibel type wilt kan je bovenaan in je klasse de tekst "Option Strict On" zetten. Je kan deze optie eveneens aanzetten in de instellingen van je project. Op dit moment zal je code niet meer willen builden. Je hebt dan 2 mogelijkheden:

1. Je zet volgende code:
Visual Basic Code:
frkas.cola = CSng(scola.Text)


hiermee zal je nog altijd dezelfde fout krijgen als je een tekst invult die geen getal is, maar je weet tenminste wel dat dit een mogelijkheid is

2. Je test eerst of de tekst geldig is en zoniet geef je een foutmelding aan de gebruiker
Visual Basic Code:
Dim prijs As Single
If Single.TryParse(scola.Text, prijs) Then
  frkas.cola = prijs
Else
  MessageBox.Show("De tekst " & scola.Text & " is geen geldig getal")
  Exit Sub
End If


Hopelijk helpt dit je op de goede weg.

#3 jetu

jetu

    Starting Developer

  • Leden
  • 11 berichten
    Laatst bezocht 27 mei 2020 11:04
  • LocatieBelgië

Geplaatst op 10 mei 2020 - 14:48

Merci voor je hulp. Ik heb alles kunnen aanpassen.





Ook met taq VS2015 voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)