begin process at 2010 02 10 02:48:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Système

 > 

Fichier & Disque

 > 

Problème C# et code unsafe


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème C# et code unsafe

mardi 23 mai 2006 à 15:37:40 | Problème C# et code unsafe

vincentbo

Salut, j'ai un petit problème à vous soumettre !
Voilà pour charger une strcuture j'aimerai utiliser l'a fonction fopen du C et C++
J'effectue donc un import dans le C#.
Au moment où je veux lire les données du fichier, j'ai une erreur 'Tentative de lecture ou d'écriture de mémoire protégée' , comme si j'on avais un comflit entre mon code managé et non managé ... je ne pense pas que ce soit le cas ?
Si quelqu'un a eu le même problème, je suis preneur de la solution.
Merci d'avance.

Mon code:

[System.Runtime.InteropServices.DllImport("msvcrt.dll", SetLastError = true)]
static extern unsafe int fopen(String filename, String mode);
[System.Runtime.InteropServices.DllImport("msvcrt.dll", SetLastError = true)]
static extern unsafe int fclose(int hStream);
static extern unsafe int fread(void* buffer, long size, long count, int hStream);
[System.Runtime.InteropServices.DllImport("msvcrt.dll", SetLastError = true)]

private struct Pos {
    public int X;
    public int Y;
}

private unsafe int FileRead(int hStream, void*p buffer, int size)
{
   try {
         //// Provoque une erreur ????????
         return fread(buffer, 1, size, hStream);
   }
   catch {
         ///// -------> Erreur: 'Tentative de lecture ou d'écriture de mémoire protégée'
         return -1;
   }
}

//   Fonction principale
private void  Load()
{
     unsafe {
         int file;

         file = fopen("Toto.dat", "r");

         if (file != 0) {

              fixed (void* p = &pos) FileRead(file, p, sizeof(Pos));
              fclose(file);
         }
     }
}





mardi 23 mai 2006 à 15:39:28 | Re : Problème C# et code unsafe

vincentbo

Dans la fonction principale j'ai oublié de vous signalez:

private void Load(){

    unsafe {

      Pos pos;

      ............;
      ............;
     }
}

mardi 23 mai 2006 à 16:36:43 | Re : Problème C# et code unsafe

Lutinore

Administrateur CodeS-SourceS
Salut, dans le prototype de fread remplace les long par des int ( sur une platform Win32 ).
mardi 23 mai 2006 à 16:48:48 | Re : Problème C# et code unsafe

vincentbo

c'était juste çà !  lol
en tout cas merci çà marche.


Cette discussion est classée dans : problème, code, int, file, unsafe


Répondre à ce message

Sujets en rapport avec ce message

probléme c# unsafe [ par mattmatt21 ] Bonjour, j'ai un petit problème à vous soumettre !j'effectue un projet pour pocket pc en c# ,au moment où je veux lire les données du MSMAPI32.OCX [ par nerix27 ] Bonjour,Je rencontre un problème avec MSMAPI32.OCX...Je voudrais simplement dans mon appli ouvrir la messagerie par défaut (Outlook) en créant un nouv Problème avec XML (Faire comme fopen(file, "a+") en C) [ par MasterShadows ] Bonjour à tous et à toutes,alors je suis en train de faire une appli où j'utilise le  XML, en fait j'ai fait une boite de dialogue où on entre nos don Convertir un string et int [ par Metabolicman ] Bonjour, Je développe une petite application événementielle pour mes cours et j'ai un petit problème. Je récupère des tarifs dans un fichier .txt et j Accéder à WndProc [ par Clonk ] Bonjour Voilà mon problème : J'ai récupéré une source sur le site (pour imprimer un form, pour info, le code se trouve ici : http://www.csharpfr.com/ Un bloc de code simple qui ne marche pas comme je l'entend [ par chandler8692 ] Salut. J'ai un problème avec un bloc de code dans mon programme. Je veux créer une liste clée[256] contenant tous les nombres de 0 à 255, chacun une e Retour d une DLL [ par ZaRMaS ] Salut a tous, J ai un petit probleme avec ma dll code en C. Elle retourne un char * et je cherche a recuperer en csharp le retour de cette fonction. V Problème d'impression d'un document à partir du code C# [ par Cool_01 ] Bonjour tout le monde, Je me trouve devant un problème selon lequel je veux imprimer un fichier avec l'extension .txt stocké dans la memoire sur un Convertion int en char [ par cedkat ] Bonjour,Je doit réecrire une portion de code qui consiste à crypter un fichier text ecrit à l'origine c++.En applicant le même code, je n'arrive pas a Unsafe : bien ou mal? [ par Nikoui ] Bonjour,dans le cadre d'une fonction qui applique un filtre "brightness" sur une image, j'ai remplacé mon code qui était au départ 100% GDI+ par du co


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,312 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales