WinFuture-Forum.de: konvertierungsfehler bei "for each"-schleife? - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

konvertierungsfehler bei "for each"-schleife?


#1 Mitglied ist offline   ::YC Tech:: 

  • Gruppe: aktive Mitglieder
  • Beiträge: 170
  • Beigetreten: 01. Oktober 11
  • Reputation: 0
  • Geschlecht:Männlich
  • Interessen:An PCs basteln bis der IT kommt :D

geschrieben 11. Dezember 2012 - 17:48

moin, alle programmierer!

ich hab da ein prob mit meinem programm. es handelt sich dabei um ein mdi-programm, bei dem man die mdi-fenster mit einer liste anzeigen kann. die mdi-fenster sollen auch eine funktion haben, dass nicht gespeicherte dokumente mit einem sternchen gekennzeichnet werden. dabei soll auch der eintrag in der liste entsprechend umbenannt werden. nur jetzt hab ich dieses problem:

Zitat

Das Objekt des Typs "System.String" kann nicht in Typ "System.Windows.Forms.ListViewItem" umgewandelt werden.


der fehler tritt in der ersten zeile dieses codes auf:
For Each MDIFormItem As ListViewItem In My.Forms.ParentForm.MDIList.Items
            If MDIFormItem.Text = Me.Text Then
                If NewSaveState = True Then
                    MDIFormItem.Text.Replace("*", "")
                    Me.Text.Replace("*", "")
                Else
                    MDIFormItem.Text.Replace(MDIFormItem.Text, MDIFormItem.Text & "*")
                    Me.Text.Replace(Me.Text, Me.Text & "*")
                End If
                Exit For
            End If
        Next


in der ersten zeile erkenne hab ich aber keinen string angegeben.
0

Anzeige



#2 _nobido_

  • Gruppe: Gäste

geschrieben 12. Dezember 2012 - 08:02

Hiho,

kenn mich net sooo aus mit VB.NET, aber ich "sehe" den Fehler in dieser Zeile:

If MDIFormItem.Text = Me.Text Then


MDIFormItem.Text ist sicher ein String-Wert bzw. wird als String gehandhabt.
Und bei einem Vergleich mit Me.Text fliegt's Dir halt um die Ohren. Denn:

Du iterierst ja per
For Each MDIFormItem As ListViewItem In My.Forms.ParentForm.MDIList.Items

durch eine ListViewItem-Liste und versuchst dann Strings zu vergleichen. Evtl. eine expliziete Konvertierung (cast) in einen String vornehmen?

Ich hoffe es hilft dir weiter (und das ich richtig liege).

greetz

Dieser Beitrag wurde von nobido bearbeitet: 12. Dezember 2012 - 08:07

0

#3 Mitglied ist offline   ::YC Tech:: 

  • Gruppe: aktive Mitglieder
  • Beiträge: 170
  • Beigetreten: 01. Oktober 11
  • Reputation: 0
  • Geschlecht:Männlich
  • Interessen:An PCs basteln bis der IT kommt :D

geschrieben 14. Dezember 2012 - 19:37

nur wie führe ich diese konvertierung durch? ctype hilft mir hier nicht weiter.

Dieser Beitrag wurde von ::YC Tech:: bearbeitet: 14. Dezember 2012 - 19:38

0

#4 _nobido_

  • Gruppe: Gäste

geschrieben 17. Dezember 2012 - 09:17

Da kann ich dir in VB.NET leider auch net weiterhelfen. Dafür fehlt mir das entsprechende Wissen - in C# könnt ich Dir da weiterhelfen :P

Aber... vllt. hilft ja das hier weiter: Visual_Basic_.NET:_Typumwandlungen, explicite Konvertierung. Ansonsten einfach mal die eine oder andere Suchmaschine bemühen.

Oder in den MSDN-Foren nachfragen.

greetz


*Nachtrag

Obwohl, wenn ich mir das grad nochmal angucke... Das Problem liegt wohl weniger beim Konvertieren des String in ein ListViewItem.
Wenn ich den Code richtig lese & verstehe sollen ja durchaus zwei Strings miteinander verglichen werden. Und da muss der String, der nicht in ein ListViewItem konvertiert werden kann, ja nicht weiter groß konvertiert werden.

Hat
ListViewItem
nicht eine Erweiterung / Property, an der Du den entsprechenden Eintrag als String abgreifen kannst?

Dieser Beitrag wurde von nobido bearbeitet: 17. Dezember 2012 - 09:22

0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0