cs_dadou22
Messages postés5Date d'inscriptionmercredi 9 mai 2007StatutMembreDernière intervention19 octobre 2007
-
18 oct. 2007 à 16:45
cs_dadou22
Messages postés5Date d'inscriptionmercredi 9 mai 2007StatutMembreDernière intervention19 octobre 2007
-
19 oct. 2007 à 10:47
Bonjour tlm !
J'ai besoin d'aide par rapport au message d'erreur suivant :
"Attempted to read or write protected memory. This is often an indication that other memory is corrupt."
J'explique le contexte :)
Outill de dév : Visual c# express 2005
Je doit accéder à une fonction se trouvant dans une DLL que l'on m'as fournit qui permet de calculer un CRC.
J'ai un premier fichier : fileCRC.cs dans lequel j'ai le code suivant :
public class fileCRC
{
[DllImport("filecrc.dll")]
public static extern string FileCRCName(string sFile,string crc);
}
Un deuxième fichier dans lequel je fais l'appel à la fonction :
string crc="";
fileCRC.FileCRCName(filePathForCRCCalcul, crc);
Et c'est au moment de l'appel à la fonction que ca crash et que j'ai ce beau message d'erreur....
cs_dadou22
Messages postés5Date d'inscriptionmercredi 9 mai 2007StatutMembreDernière intervention19 octobre 2007 19 oct. 2007 à 09:00
Malheureusement je n'ai pas plus d'info sur la méthode native... Tout ce que je sais c'est que c'est une procédure avec 2 paramètres string.
J'ai adapaté ma signature :
[DllImport("filecrc.dll")]
public static extern void FileCRCName(string sFile, [MarshalAsAttribute(UnmanagedType.LPStr)] StringBuilder crc);
Il y a des chances qu'elle prenne les chaînes en ansi. donc j'ai ajouté ca : [MarshalAsAttribute(UnmanagedType.LPStr)]. je sais pas si c'est juste ?
Et puis tjr l'appel :
StringBuilder crc = null;
filePathForCRCCalcul = Settings.getParameter(Settings.constlocalizedResultsPath) + @"" + sDialogName +".xml";
fileCRC.FileCRCName(filePathForCRCCalcul, crc); <------ Là ou ca crash
J'ai tjr l'erreur de tentative de lecture ou d'écriture dans la mémoire protégée....