Benutzer mit den meisten Antworten
Fehler bei Typenkonvertierung

Frage
-
Hallo Leute,
kann mir einer erklären, warum folgende Anweisung zu einem Fehler führt,
wenn die Tag-Eigenschaft einen Wert von 1 hat? :-?iCol = CInt(If(myList.Tag = "", "1", myList.Tag))
myList.tag enthält nur: "",0,1
Bei einem fehlenden Wert ("") kommt es nicht zu einem Fehler.Vielen Dank im voraus.
Gruß Ahmed
Antworten bitte nur in der Newsgroup
Windows 7 64bit Home Premium
Office Prof. 2010
Antworten
-
Hallo Ahmed,
die Tag Eigenschaft ist, wenn Du Ihr noch keinen Wert zugewiesen hast gleich nothing.
Stell es Dir so vor: Wenn Du eine Variable in Dein Projekt einführst, welche eine Instanz einer Klasse beinhalten soll und diese nicht mit new() initialisierst hat diese Variable auch den Wert nothing.
Richtig würde also Deine Zeile Code so aussehen:
iCol = CInt(If(myList.Tag Is Nothing, "1", myList.Tag))
Du solltest generell immer auch mit Option Strict On programmieren.
Hannes
If you have got questions about this, just ask.
In a perfect world,
users would never enter data in the wrong form,
files they choose to open would always exist
and code would never have bugs.
C# to VB.NET: http://www.developerfusion.com/tools/convert/csharp-to-vb/- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 9. Februar 2012 15:45
-
Ich habe auch festgestellt, dass die Tag-Eigenschaft Zahlen schon typenkonform als Integer speichert. Daher ist eine Typenkonvertierung eigentlich gar nicht notwendig ist. Gruß Ahmed
Wenn Du Option Strict On eingestellt hast, dann stimmt das nicht.
Du erhältst dann nämlich eine Fehlermeldung "Fehler 1 "Option Strict On" lässt keine impliziten Konvertierungen von Object in Integer zu. "
Hannes
If you have got questions about this, just ask.
In a perfect world,
users would never enter data in the wrong form,
files they choose to open would always exist
and code would never have bugs.
C# to VB.NET: http://www.developerfusion.com/tools/convert/csharp-to-vb/- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 9. Februar 2012 15:45
Alle Antworten
-
Am Sat, 28 Jan 2012 14:55:20 +0000 schrieb Ahmed Martens:
Hallo Leute,
kann mir einer erklären, warum folgende Anweisung zu einem Fehler führt,
wenn die Tag-Eigenschaft einen Wert von 1 hat? :-?
iCol = CInt(If(myList.Tag = "", "1", myList.Tag))
myList.tag enthält nur: "",0,1
Bei einem fehlenden Wert ("") kommt es nicht zu einem Fehler.
Vielen Dank im voraus.
Gruß AhmedIch glaube der Fehler liegt daran, dass die Tag-Eigenschaft mind. einmal
mit myList.Tag="" initialisiert werden muss, da ansonsten ein Nothing
zurückgegeben wird.Kann das jemand bestätigen?
Gruß Ahmed
Antworten bitte nur in der Newsgroup
Windows 7 64bit Home Premium
Office Prof. 2010 -
Hallo Ahmed,
die Tag Eigenschaft ist, wenn Du Ihr noch keinen Wert zugewiesen hast gleich nothing.
Stell es Dir so vor: Wenn Du eine Variable in Dein Projekt einführst, welche eine Instanz einer Klasse beinhalten soll und diese nicht mit new() initialisierst hat diese Variable auch den Wert nothing.
Richtig würde also Deine Zeile Code so aussehen:
iCol = CInt(If(myList.Tag Is Nothing, "1", myList.Tag))
Du solltest generell immer auch mit Option Strict On programmieren.
Hannes
If you have got questions about this, just ask.
In a perfect world,
users would never enter data in the wrong form,
files they choose to open would always exist
and code would never have bugs.
C# to VB.NET: http://www.developerfusion.com/tools/convert/csharp-to-vb/- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 9. Februar 2012 15:45
-
Hall Heslacher,
Am Sat, 28 Jan 2012 15:48:32 +0000 schrieb Heslacher:
Hallo Ahmed,
die Tag Eigenschaft ist, wenn Du Ihr noch keinen Wert zugewiesen hast gleich nothing.
Stell es Dir so vor: Wenn Du eine Variable in Dein Projekt einführst, welche eine Instanz einer Klasse beinhalten soll und diese nicht mit new() initialisierst hat diese Variable auch den Wert nothing.
Richtig würde also Deine Zeile Code so aussehen:
iCol = CInt(If(myList.Tag Is Nothing, "1", myList.Tag))Du solltest generell immer auch mit Option Strict On <http://msdn.microsoft.com/en-us/library/zcd4xwzs(v=VS.90).aspx> programmieren.
vielen Dank für die Info. Ich habe auch festgestellt, dass die Tag-Eigenschaft Zahlen schon typenkonform als Integer speichert. Daher ist eine Typenkonvertierung eigentlich gar nicht notwendig ist. Gruß Ahmed
Antworten bitte nur in der Newsgroup Windows 7 64bit Home Premium Office Prof. 2010
-
Ich habe auch festgestellt, dass die Tag-Eigenschaft Zahlen schon typenkonform als Integer speichert. Daher ist eine Typenkonvertierung eigentlich gar nicht notwendig ist. Gruß Ahmed
Wenn Du Option Strict On eingestellt hast, dann stimmt das nicht.
Du erhältst dann nämlich eine Fehlermeldung "Fehler 1 "Option Strict On" lässt keine impliziten Konvertierungen von Object in Integer zu. "
Hannes
If you have got questions about this, just ask.
In a perfect world,
users would never enter data in the wrong form,
files they choose to open would always exist
and code would never have bugs.
C# to VB.NET: http://www.developerfusion.com/tools/convert/csharp-to-vb/- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 9. Februar 2012 15:45
-
Hallo Ahmed Martens,
Ich gehe davon aus, dass die Antworten Dir weitergeholfen haben.
Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.Grüße,
Robert
Robert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.