PInvokeStackImbalance a été détecté

Signaler
Messages postés
39
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
24 juillet 2012
-
Messages postés
39
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
24 juillet 2012
-
Bonjour à vous,

j'ai un souci d'exécution de mon code, au lancement j'ai un message d'erreur "Un appel à la fonction PInvoke "xxx.SQlite::sqlite3_open a déséquilibré la pile [...]".

Je pense qu'il s'agit d'une différence entre la méthode que j'invoque et celle réellement présente dans la DLL ? Ci-après mon code :

Invocation de la méthode
[DllImport("mozsqlite3")]
private static extern int sqlite3_open(IntPtr fileName, out IntPtr database);


Le code qui l'utilise
public void OpenDatabase(String baseName)
{
     if (sqlite3_open(StringToPointer(baseName), out database) != SQL_OK)
     {
        database = IntPtr.Zero;
        throw new Exception("Error with opening database" + baseName + "!");
     }
}


Je précise que la méthode StringToPointer me permet de "convertir" un string en IntPtr.

D'après certains scripts trouvés sur le net qui utilisent la même chose, à priori je n'ai pas d'erreur, mais mon compilateur lui n'est pas d'accord :p

Quelqu'un aurait la solution ?

Merci !

1 réponse

Messages postés
39
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
24 juillet 2012

Personne ?