tigerskin
Messages postés39Date d'inscriptionjeudi 26 mai 2005StatutMembreDernière intervention24 juillet 2012
-
19 juil. 2012 à 11:08
tigerskin
Messages postés39Date d'inscriptionjeudi 26 mai 2005StatutMembreDernière intervention24 juillet 2012
-
24 juil. 2012 à 09:39
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