Wpis z mikrobloga

#programowanie #cpp Zupełnie sie nie znam na cpp, ale może tutaj ktoś ogarnie: Mam dllkę w cpp i muszę jej użyć w c#. Nie mogę zrobić zwykłego importu, z powodu całego mechanizmu aplikacji (dllka ma wiele instancji, tak samo program w c# a kluczowe jest podłączenie do odpowiedniej instancji).

HRESULT hr = CoInitialize(NULL);
ILoggerPtr logger(__uuidof(LoggerImpl));

W taki sposób łączę się z cpp do c# klasy (LoggerImpl), jednak chciałbym tam przekazać referencję do metod z cpp. Czy jest to możliwe, jeśli tak to w jaki sposób? Męczę się już z tym cały dzień, pomóżcie proszę :)

Czy wgl można przekazać cokolwiek w taki sposób do konstruktora klasy LoggerImpl? Jeśli nie pointer to może chociaż stringa?
  • 2
@piotrb: Już to rozwaliłem - w taki sposób nie podam do konstruktora parametrów - zrobiłem sobie osobną funkcję. Ale pojawił się inny problem - COM zmieniał typ argumentu funkcji (w c# był IntPtr a on chciał longa). Ostatecznie zmieniłem sposób callowania dllki i wszystko działa. Może nawet użyłem RCW ale cpp zupełnie nie ogarniam. Dzięki za zainteresowanie