[ erkan @ 09.02.2006. 10:53 ] @
Pozdrav svima,

napisao sam jednu aplikaciju u C++.NET-u jer sam imao
DLL problem (DLL pisan u C-u...) tako da taj DLL nisam mogao direktno
koristiti u C#-u (vec sam trazio pomoc vezano za taj problem ali...)
tako da sam ipak napisao neku formu u VC++-u (VS 2005) i uspio
iskoristiti f-je iz DLL-a.

Sada bih tu 'wrapper' klasu (tog famoznog DLL-a) napisanu u C++.NET-u
volio da koristim u C#-u. KAKO?
Znaci windows forma u C++.NET-u korektno radi sa tim DLL-om
ali bih radije presao na C# :).

Kada napravim Win Form u C# i dodam taj C++.NET project kao existing project
mogu fino korisiti klasu, prepozna sve metode itd. Iskompajlira fino
ali kada treba da se pokrene javi EXCEPTION i padne (u main-u kod pokretanja forme C# projekta).

Pomagajte ljudi, vec sam se propisno namucio da iskoristim funkcije iz DLL-a
a sad me jos i ovo zeza...

Dakle, kako da u C#-u iskoristim klasu koju sam napravio u C++.NET-u
a koja, na neki nacin, 'wrappira' funkcije iz DLL-a... i sasvim fino radi u C++.NET projektu?


[Ovu poruku je menjao erkan dana 09.02.2006. u 11:56 GMT+1]
[ erkan @ 09.02.2006. 11:52 ] @
Nasao sam,
nakon sto se uvuce postojeci projekat, u properties-u
postaviti Configuration Type da je Dynamic Library (.dll)

Probao i radi :)
Interesuje me samo kako u stvari ne kreira DLL fajl nego i dalje
stoji extenzija EXE iako se ne moze pokrenuti.
OK, bitno je da radi...

Mozda ima neko bolje rjesenje...

[Ovu poruku je menjao erkan dana 09.02.2006. u 12:52 GMT+1]
[ ntadic @ 13.02.2006. 10:48 ] @
pa ako ti je taj C dll com componenta, onda mozes da ga dodas kao referencu (preko one interop gluposti), ali moje iskustvo nije bas lijepo sa tim, zna se desiti da com komponente pocnu pucati bez vidljivog razloga...
[ erkan @ 14.02.2006. 09:56 ] @
Citat:
ntadic: pa ako ti je taj C dll com componenta, onda mozes da ga dodas kao referencu...

Ma nije COM kompon. vec obicni dll, tako da ga ne mogu 'uvuci'
sa 'Add Reference' vec koristim 'DllImport' .
Ali eto, snasao sam se nekako i radi. Da nije bilo C++.NET-a nista ne bih uspio,
u C# mi je bila prava patnja (pointer na pointer itd...) tako da sam odustao
i odradio stvar u C++-u :)