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:
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);
}
Poi vado a richiamare iil metodo in questo modo:
codice:
char[] parola = {'c','i','a','o'};
unsafe {
char *p;
p = Classe1.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!!!