Czy można używać klasy VB6 w języku C#?Używanie klasy VB6 w języku C#
Odpowiedz
Myślę, że powinniśmy po prostu być w stanie dodać bibliotekę zawierającą typ VB6 jako punkt odniesienia w projekcie C#. Visual Studio utworzy zespół Interop w locie, a otrzymasz dostęp do wszystkich typów w bibliotece VB6 poprzez Runtime Callable Wrappers.
Narzędziem tworzącym zespół Interop jest TLBIMP.EXE, i możesz uruchomić to samodzielnie, jeśli chcesz mieć większą kontrolę nad procesem, np. jeśli chcesz utworzyć Primary Interop Assembly, który może być współużytkowany przez wiele zarządzanych komponentów.
Oczywiście wystarczy, że będzie to obiekt COM.
DLL z VB6 tworzone są zawsze (no prawie zawsze) COM DLL. Aby zrobić je inaczej, musisz przejść przez wiele obręczy typu art black. – BobRodes
Możesz użyć skompilowanej biblioteki dll VB6 w programie C#, używając COM Interop.
Jak @ Waay stwierdza w swoim poście (+1) jest to absolutnie możliwe.
chciałbym pójść na przepisanie swojej klasie VB6:
Jeśli masz źródło VB6 i finansowania, polecam Ci przepisać klasy w języku C#.
Although VB6 may live forever:
Current support Statement for Visual Basic 6.0
Jestem zdezorientowany, dlaczego ludzie głosują na to, ale dali @sashaeve netto -5 dla równoważnej odpowiedzi. –
@Ben Voigt: Czy możesz wskazać odpowiedź, na którą się powołujesz? –
@Kb: Jest na tej stronie, ale potrzebujesz wielu reputacji, aby zobaczyć usunięte odpowiedzi. Powiedział: "Musisz przekonwertować go na klasę VB.NET, a następnie [sic] możliwe jest użycie tego kodu w twojej aplikacji C#". –
- 1. Używanie pthread w języku C++
- 2. Używanie wydajności w języku C#
- 3. Equivalent dnia tygodnia Funkcja VB6 w C#
- 4. Używanie NLTK w języku C# przez IronPython
- 5. Używanie funkcji języka C w języku Python
- 6. Używanie języka RSA w języku C#
- 7. Używanie typów zerowalnych w języku C#
- 8. Prywatny statyczny VB6 w C#?
- 9. Używanie wyliczeń z klasy (C++)
- 10. Domyślnie Dostępność klasy w języku C#
- 11. Wywoływanie System.Delegate obiekt klasy w języku C#
- 12. Dziedziczenie z klasy szablonu w języku C++
- 13. Tworzenie klasy Pythona w języku C#
- 14. Używanie C++ w klasie Nazwa klasy;
- 15. Używanie XGBOOST w C++
- 16. Używanie COM w języku R
- 17. VB6 - Definiowanie macierzy ciągów
- 18. Nie można znaleźć klasy HttpServerUtility w System.Web w języku C#
- 19. Windows8 - Używanie zlokalizowanego ciągu znaków w języku C#
- 20. Używanie Mono do klikania myszy w języku C# - Mac OS
- 21. Używanie akcji jako argument w języku C# (naśladowanie wskaźnika funkcji)
- 22. Używanie typowych właściwości get get w języku C# ... z parametrami
- 23. Używanie funkcji członka klasy C++ jako funkcji wywołania zwrotnego C
- 24. Najszybszy sposób uzyskania dostępu do łańcucha znaków VB6 w języku C#
- 25. Problemy z nadpisaniami funkcji częściowej klasy w języku C++
- 26. Automatyczne generowanie klasy Wrapper w języku C# przy użyciu kompozycji
- 27. Jak zasubskrybować inne zdarzenia klasy w języku C#?
- 28. Jak zastąpić odziedziczoną właściwość klasy w języku C#?
- 29. Odpowiednik anonimowej klasy języka Java w języku C#?
- 30. Czy mogę podać sensowną nazwę klasy anonimowej w języku C#?
w.r.t "biblioteka", można przejść do pliku VB6 ActiveX EXE lub biblioteki DLL zawierającej klasy i dodać ją jako odniesienie. Zgromadzenie Interop zostanie stworzone dla ciebie automatycznie. –
@ bob denny. Nie zawsze jest to łatwe, VS IDE wybiera opcję, która sprawia, że praca z złożonymi strukturami danych, które mają tablice, jest trudna, a nawet niemożliwa. Lepiej używać tlbimp, chyba że masz bardzo, bardzo proste wejścia i wyjścia. – Steve
@Steve Interesujące. Czy możesz podać więcej szczegółów na temat tego problemu? Przydatny byłby link. – MarkJ