Announcement

Collapse
No announcement yet.

VB6 <-> VB.Net Interop

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • VB6 <-> VB.Net Interop

    Hallo liebes Forum, mein erster Beitrag hier;

    Es geht um ein seit sehr langer Zeit laufendes Projekt, das ursprünglich (1999) in VB6 begonnen wurde. Es existieren zahlreiche (>250) Einzelprogramme, die gemeinsame Module verwenden ( Lizenzierung, AppEinstellungen, etc. )
    Diese Module werden jeweils direkt in die einzelnen .Exe Programme kompiliert. Da das Projekt ständig erweitert wurde u wird, wurde irgendwann damit begonnen, neue Programme in .Net zu entwickeln (dzt. <50). Die Module wurden also für die neuen Programme (schnell) portiert u in den neuen Programmen verwendet. Leider existieren innerhalb des Projekts einige VB6 MegaSchinken, die nicht ohne weiteres in .Net (Aufwand, Zertifizierungen = Geld ) portierbar sind. Über die Jahre wird es nat. immer mühsamer die beiden Welten parallel zu fahren, daher meine Frage: gibt es eine Möglichkeit, die Programmteile die alte u neue Programme brauchen, so in VB.Net zu erstellen, dass nicht alles 2x codiert werden muss ?

    Nehme ich zB die Funktionalität der ArbeitsplatzLizenzierung u verwende die Klasse ( die nat. sinngemäß das exakt Gleiche tut wie das VB6 PendantModul) , die ich für die VB.Net Programme verwende, kompiliere diese in eine selbstregistrierende .DLL u ersetze bei der nächsten Erweiterung eines der VB6 Schinken bei diesem das bestehende Modul "ArbeitsplatzLizenzierung" durch die .Net DLL funktioniert das wunderbar. Theoretisch ersetze ich jetzt sukzessive die misten gleichlaufenden Funktionalitäten durch .Net DLLs , kompiliere das jeweils erweiterte VB6 SchinkenProgramm, kopiere diese zu den Kunden, wunderbar. Nun ist aber das Problem, wenn ich 1x in einer dieser .DLLs irgendeine zusätzliche Funktionalität einbaue, sind alle alten VB6 Programme nicht mehr lauffähig.

    Hätte das Projekt nur .NET Programme wäre das kein Problem, klar. Wie aber löse ich dieses 2-Welten-Parallel-Dilemma ? Ist das eh ganz einfach u ich weiß es nur nicht ? Ich hoffe irgendwer versteht mein Problem u kann mich evtl. in die richtige Richtung stoßen...

    Vielen Dank u

    lg
    Andi
Working...
X