Salve ragazzi,sono nuovo del mondo C# ed ho un problema che non so veramente come risolvere.
In pratica ho creato una classe con delle funzioni prelevate da una dll appositamente da me creata (questa dll è stata creata in codice C).
Innanzitutto il metodo che voglio richiamare è un metodo che restituisce un char pointer;quando vado a richiamare il metodo in modo opportuno,assegno il valore restituito ad una variabile (di tipo conforme a quello restituito dal metodo..ovviamente)...ma quando vado a stampare il carattere puntato da quell'indirizzo non riesco a visualizzare il risultato atteso.
Aggiungo anche che sotto un compilatore C la funzione funziona correttamente quindi escluderei un problema di codice all'interno della dll.
Il codice della classe è il seguente:
Poi vado a richiamare iil metodo in questo modo:codice:namespace WindowsFormsApplication1 { public class Classe1 { [DllImport("PERCORSODELLADLL")] unsafe public static extern char* funz(char[] parola); unsafe public static char* funz_(char[] parola) { return funz(parola); }
Questo è tutto...spero sia stato abbastanza chiaro ad esporre il mio problema e spero anche che riusciate a darmi una mano..Confido su di voi!!!codice:char[] parola = {'c','i','a','o'}; unsafe { char *p; p = Classe1.funz_(parola); }![]()

Rispondi quotando
(ma non vorrei dire caz*ate)...(ovviamente l'header ole2.h l'ho incuso sia nel file .cpp che nel file .h
