-> jak nadawac klasie atrybut ComVisible?
using namespace System.ComponentModel; //o ile dobrze pamietam:)
[ComVisible(true)] //TU
public ref class X {...}
-> ja nie pojalem w pelni c++ a tu .NETowe podejscie..? (szok..)
-> jakie to sa metody/pola/.. natywne?
natywne (native) - w skrocie oznacza 'cos ze zwyklego c++', cos nie-.Net-owego
zarządzane (managed) - w skrocie oznacza 'cos .Net'owego', m.in. cos podlegajacego GarbageCollectorowi. tutaj, mam na mysli ze VB (szczerze - nie wiem jak VB.NET - a z niego korzystacie - ale chyba on tez..) jest w stanie operowac jedynie na obiektach COM i na pewnych podstawowych typach danych z ktorych sa one zbudowane
...
using namespace System; //namespace z .Net
...
public ref class Node //REF oznacza klase .Net'owa, nie natywna
...
-> jak mi vector odpada... to praktycznie mam do przerobienia caly program... (tam wszystko w vectorach siedzi.. oki i w jednym zbiorze (set)... :| )
praktycznie wszystkie typy .Net'owe maja przelozenie na COM, wiec w przypadku komunikacji miedzy VB a c++/cli sprowadzaloby sie to do eksponowania w klasie jedynie rzeczy .Net'owych (czyli Int32, IntPtr, String (nie std::string!!), klasy ref itp..). Natywne c++'owe teez sie poniekad da.. ale jest bardzo bardzo duzo zabawy z tym.. albo przerob je na kolekcje z .net, albo samo eksponowane property przez ta klase zrob jako takowa kolekcje i synchronizuj (kopiuj dane z jednego w drugi i vice versa, tak aby byly zawsze spojne) ja z oryginalnym wektorem
-> co to CLI (w tym przypadku).
CLI:= Common Language Infrastructure, patrz http://en.wikipedia.org/wiki/Common_Language_Infrastructure
mowiac łopatologicznie jest to idea/architektura na ktorej zbudowano CLR, czyli engine .Net'a. a tak w ogole to nie mowilem o CLI tylko o C++/CLI :)
C++/CLI jest INNYM JEZYKIEM PROGRAMOWANIA niz C++. jest to rozszerzenie C++ o nowe rzeczy, ktore pozwalaja gładko pisac kod C++'o'podobny, ktory kompilator Visualowy potrafi skompilowac tak, aby wspolpracowal zarowno z natywnymi bibliotekami C++ jak i zarzadzanymi .Net'owymi. C++/CLI jest najsilniejszym pod wzgledem mozliwosci jezykiem z platformy .Net, ma najwierniejsze przelozenie na IL. oczywiscie c++/cli jest microsoft-only, jesli nie liczyc platformy MONO na linuksa ktora jest daleko w tyle i nawet nie jestem pewien czy kompilator c++/cli udostepnia.