DLL QT + VS C#

0

Witam,

tworzę DLL w QT, którą muszę użyć w QT GUI oraz w C#.
Owa DLL musi mi w wyniku pewnych operacji na pliku, zwrócić parę <char, string>. Czy bez problemu mogę użyć szablonu pair jako wynik przekazany z DLL? Czy może lepiej użyć jakichś typów prostych ? Nie jest to tak łatwo sprawdzić i ktoś może ma większe doświadczenie w mixowaniu C++/ C# i da odpowiednią radę.

0

O wiele lepiej będzie, jeżeli prześlesz obie zmienne oddzielnie, np. zwracając je w parametrach. Z klasami jest większy kłopot, reprezentacja binarna tych w .NET jest zupełnie inna, ciężko byłoby przedstawić jakąkolwiek klasę z C++ w C#. Możesz oczywiście próbować, poprzez p/invoke wywołać np. jakąś metodę (oczywiście ogarniając całą jej dekorację), przekazując wskaźnik na this w pierwszym argumencie itd itd. Nie jest to zbyt wygodna ani pewna metoda. Możesz też klasę zarejestrować jako obiekt COM. Tutaj są już określone spójne zasady korzystania z tych obiektów, ale z tym też jest więcej zachodu niż to warte. Możesz też napisać wrapper w C++/CLI. Wniosek? Olej w tym wypadku klasę ;).

0

w C++/CLI można bezpośrednio korzystać z Qt, to byłoby chyba dobre rozwiązanie..

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