Biblioteka zarządzalna w programie niezarządzalnym

0

Programuję w visual studio 6 i ostatnio potrzebowałem użyć kodu zarządzalnego. Niestety z tego co wyczytałem to dopiero w wersjach chyba od vc++ 2005 można je tworzyć. Mając expresa 2010 utworzyłem bibliotekę z kodem zarzadzalnym i tam utworzyłem klasę. Jako że bezpośrednio nie mogłem jej wykorzystać to utworzyłem eksportową klasę niezarządzalną jako zwykły interfejs między moją aplikacją, a klasą zarządzalną. O dziwo biblioteka się skompilowała i dodałem .lib do listy bibliotek dla linkera w programie. Program się uruchomił ale gdy utworzyłem obiekt klasy z biblioteki to dostałem błąd wykonania.
Przeniesienie klasy niezarządzalnej do oddzielnej biblioteki utworzonej w express 2010 też nic nie dało.

Czy jest możliwe poprzez ustawienie może jakiegoś przełącznika w c++ express 2010 lub vc6 aby to zadziałało.
Głównie mi chodzi o wykorzystywanie klas .net pisanych w c#, ale jak c c++ pójdzie to i z C# sobie poradzę.

0

Dzięki za linki ale nie w tym problem że nie przestudiowałem google tylko w tym że mimo tego dostaję błąd
Unhandled exception in test.exe (NTDLL.DLL): 0xC0000005: Access Violation.
Microsoft zasugerował aby zamiast /clr użyć /clr:OldSyntax ale to też nic nie dało.
Gdy tworzę obiekt w programie napisanym w VC++ 2010 to nie ma błędu.
W tej chwili od ręki nie mogę przejść z vc6 na c++2010 dlatego moje pytanie jest czy się da w vc6

0

0xC0000005: Access Violation

to jest ze starasz sie czytac nie ze swojej pamieci
np
masz obiekt ktory jest nullem i robisz na nim wyluskanie a pozniej jakies operacje na zasadzie

string thisIsNull = null;
thisIsNull.Length();

to Ci zwroci access violation w C++. Ale to nie jedyny sposob na wywolanie tego (chociaz pewnie najczestszy)

0

Zgadza się tylko że ja nie tworzyłem obiektu dynamicznie więc nie powinno wskazywać null
Błąd wychodzi zanim jeszcze program wykona się do linii gdzie tworzę obiekt. Jak zmieniłem na tworzone dynamicznie to nic się nie zmieniło.
Nawet to nie jest błąd zgłaszany w funkcji w której tworzę obiekt tylko chyba już podczas ładowania bibliotek.
Utworzyłem funkcję aby nie korzystać z obiektów ale nadal to samo.

1 użytkowników online, w tym zalogowanych: 0, gości: 1