VB6 in VB8

Kropotkin

Mitglied
Hallo.
Ich möchte gerne ein bestehendes VB6 Projekt in VB8 anlegen.
Beim Aufruf kommt es allerdings zu Problemen. z.b. die assembly.
Später lässt es sich nicht als exe abspeichern, weil irgendwelche Sache fehlen, usw.

Meine Frage: gibt es eine Art Anleitung in der beschrieben wird wie man ein vb6 nach vb8 'hochzieht'?

Danke

Kropotkin
 
Hallo,

also ich hatte mal ein Projekt, das ich von VB auf VB.NET bzw. C# migriert hatte. Meine Migrationsstrategie, die ich dir empfehle ist: "Implementiere es neu!" ;)
(der Vorteil davon ist z.B. du verwendest das .NET-Framework und keine Win-API's).
Falls du z.B. die Persistenzschicht (bei Verwendung von ADO) auf ADO.NET migrieren willst, ist da eine Neuimplementierung auf jeden Fall die bessere Lösung.

hier ein paar Links:
http://www.codeguru.com/csharp/.net/net_asp/miscellaneous/article.php/c6975/
http://www.aivosto.com/vbtips/vbnetmigration.html
http://msdn2.microsoft.com/en-us/library/aa288720.aspx
http://searchwindevelopment.techtarget.com/generic/0,295582,sid8_gci1170586,00.html


Gruß Konstantin
 
Hey. Danke für die Antwort.
Neu Implementieren ist so ein Problem.
Ich muss (neuer job) das Teil übernehmen und weiterentwickeln.
Ich könnte mir 'Neu Implementieren' nun höchstens so vorstellen, dass ich alles einzeln kopiere, wobei mir vb6 noch einigermassen bekannt vorkommt, aber vb8 nicht.

Grüße
 
VB 6 und Visual Basic für .NET haben eigentlich nur noch die Sprache selbst gemein. Die technische Basis wurde komplett verändert, eben .NET.

Wie Konstantin schon schrieb, implementier das Teil neu, du wirst bestimmt einige Dinge nahezu 1:1 übernehmen können, jedoch wurden viele Dinge, die sich unter VB6 nur über die WinAPI lösen ließen im .NET-Framework implementiert, es macht also Sinn diese Teile entsprechend neu zu implementieren.

Ich arbeite momentan auch an einem Projekt dessen Wurzeln tief in VB3-6 liegen. Wir haben die Entscheidung getroffen das VB 6 Produkt weiter zu warten und künftige Version in C# neu zu implementieren.
Dieser Schritt hat vor allem den Vorteil, dass man die Architektur nun auf ein stabiles Fundament setzen kann, da es ja öfters vorkommt, dass eine über Jahre gewachsene Software mehr zusammen geschmiert als noch sauber programmiert ist.
 
Ihr habt beide recht.
Ich kann so leidlich vb6 aber nicht .net-vb.
Jetzt ist die Frage was ich z.b. statt des flexgrid nehme.
Ich habe erkannt: viele funktionen sind komplett anders zu schreiben:

Beispiel : reichte früher ein LEFT("abcde",1) -> "a"
muss man in vb8 schreiben Microsoft.VisualBasic.Left("abcd2", 1)

das find ich echt aufwändig..
Gut. Ich muss es machen, weil Befehl von oben ...

ciao
 
Hi nochmal,

kurz dem Punkt, dass es für dich umständlich ist statt einfach nur eine Methode auzurufen VisualBasic.Left verwendet wird.

Das .NET-Framework besteht aus tausenden Klassen, die mit Hilfe von Namenräumen (namespaces) logisch sinnvoll gegliedert werden. Viele der aus VB6 bekannten Methoden sind im Namespace Microsoft.VisualBasic zu finden.

Grundsätzlich gibt es zwei Möglichkeiten auf eine Methode in einem Namespace zuzugreifen.

1) Man gibt den Namespace bei jedem aufruf explizit mit an. Also Microsoft.VisualBasic.Left()

2) Man verwendet den Befehl Imports Microsoft.VisualBasic und kann dann implizit auf die Methode Left() ohne die weitere Angabe des Namespace zugreifen.

Vielleicht schaust du dir, falls du bisher keine Literatur hast, das Openbook zum Thema Visual Basic 2005 von Galileo-Computing an. Dieses ist kostenlos, herunterladbar und für den Einstieg sehr gut geigenet.
 
Zurück