Migration von VB 6.0 Menü checked

03/08/2008 - 18:59 von Gavin Porter | Report spam
Hallo Gemeinde,

ich versuche mich endlich mal daran, ein Projekt von Visual Basic 6.0
auf Visual Basic 2005 zu migrieren.

Jetzt hànge ich an den Check-Boxen meines Menüs. Ich hatte eine
Funktion, die alle Steuerelemente durchlàuft und die Menüpunkte am Namen
erkennt, und dann die Checked-Eigenschaft setzt:

Dim ctl As Control
For Each ctl In Me.Controls
If Left(ctl.Name, 9) = "mnuDrives" Then
If Right(ctl.Name, 1) = CStr(Modus) Then
ctl.Checked = True
Else
ctl.Checked = False
End If
End If
Next

Beim Einlesen des VB6-Projekts in 2005 macht er dann folgendes draus,
und reklamiert:

Dim ctl As System.Windows.Forms.Control
For Each ctl In Me.Controls
If VB.Left(ctl.Name, 9) = "mnuDrives" Then
If VB.Right(ctl.Name, 1) = CStr(Modus) Then
'UPGRADE_WARNING: Die Standardeigenschaft des Objekts ctl.Checked
konnte nicht aufgelöst werden. Klicken Sie hier für weitere
Informationen:
'ms-help://MS.VSExpressCC.v80/dv_common...37B2"'
ctl.Checkstate = True
Else
'UPGRADE_WARNING: Die Standardeigenschaft des Objekts ctl.Checked
konnte nicht aufgelöst werden. Klicken Sie hier für weitere
Informationen:
'ms-help://MS.VSExpressCC.v80/dv_common...37B2"'
ctl.Checked = False
End If
End If
Next ctl

Mit Intellisense kommt auch kein Vorschlag für checked.

Wàre für Hilfe sehr dankbar.

MfG Gavin
 

Lesen sie die antworten

#1 Thorsten Doerfler
03/08/2008 - 19:36 | Warnen spam
Gavin Porter schrieb:
ich versuche mich endlich mal daran, ein Projekt von Visual Basic 6.0
auf Visual Basic 2005 zu migrieren.



Dazu vielleicht hilfreich:

2.23 Kann ich meine VB6 Anwendungen nach VB.NET übernehmen?
http://vb-faq.de/article.php?id7

Versuch mal folgendes:

Beim Einlesen des VB6-Projekts in 2005 macht er dann folgendes draus,
und reklamiert:

Dim ctl As System.Windows.Forms.Control
For Each ctl In Me.Controls
If VB.Left(ctl.Name, 9) = "mnuDrives" Then
If VB.Right(ctl.Name, 1) = CStr(Modus) Then


DirectCast(ctl, MenuItem).Checked = True
Else


DirectCast(ctl, MenuItem).Checked = False
End If
End If
Next ctl




Allgemein kann man aber nur davon abraten mit dem automatisch migrierten
Zeugs etwas ernsthaftes anzustellen, dazu werden zu viele
Kompatibilitàtskrücken eingebaut, die bei der weiteren Entwicklung nur
hinderlich sind. Zudem siehst Du ja, kommt einfach nichts brauchbares
hinten raus. Einzig als Unterstützung, wie man ein Problem lösen kann,
ist ein solches migriertes Projekt zu gebrauchen.

Thorsten Dörfler

Ähnliche fragen