Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

[C#] Errore pinvoke nell'importazione di una dll C++

Il forum per tutti i developer. Leggere attentamente il regolamento di sezione prima di postare.

[C#] Errore pinvoke nell'importazione di una dll C++

Messaggioda Leo » dom mag 25, 2008 11:13 am

Ciao a tutti, sto provando ad importare in un progetto C#, una funzione contenuta in una DLL scritta in C++.
La firma della funzione è:

Codice: Seleziona tutto
int regBox(
const char *BID,
const char* ModelName
);


Ho provato ad importare la funzione con questo codice:

Codice: Seleziona tutto
[DllImport("GGS.dll")]
public static extern int regBox(
            [MarshalAs(UnmanagedType.LPStr)] string boxid,
            [MarshalAs(UnmanagedType.LPStr)] string model);


Ottengo però questo errore:

Una chiamata alla funzione PInvoke 'Test GV API!Test_GV_API.GVImport::regBox' ha sbilanciato lo stack. Questo problema può verificarsi quando la firma PInvoke gestita non corrisponde alla firma di destinazione non gestita. Verificare che la convenzione di chiamata e i parametri della firma PInvoke corrispondano alla firma di destinazione non gestita.

Avete qualche idea su come si possa risolvere la questione?

grazie mille per l'aiuto!
Leo
Responsabile Tecnico MegaLab.it
Avatar utente
Leo
Silver Member
Silver Member
 
Messaggi: 1683
Iscritto il: lun ago 05, 2002 9:36 am
Località: Ferrara

Messaggioda Leo » dom mag 25, 2008 12:22 pm

Problema risolto....
La documentazione della dll era sbagliata! Accidenti a loro! La funzione regBox accetta un solo parametro di tipo const char*!
Leo
Responsabile Tecnico MegaLab.it
Avatar utente
Leo
Silver Member
Silver Member
 
Messaggi: 1683
Iscritto il: lun ago 05, 2002 9:36 am
Località: Ferrara


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising