Bonjour à Tous,

J'essaye d'écrire des données dans un fichier "Categorie.txt".
Voici le code de mon programme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
void __fastcall TDefinitionCategorie::PoussinOKClick(TObject *Sender)
{
void __fastcall TDefinitionCategorie::PoussinOKClick(TObject *Sender)
{
  char buffer[500];
 
 // CREATION FICHIERS DE SAUVEGARDE
  struct CATEGORIE {
                   AnsiString NaisPou1[4];
                   AnsiString NaisPou2[4];
                   AnsiString NaisBen1[4];
                   AnsiString NaisBen2[4];
                   AnsiString NaisMin1[4];
                   AnsiString NaisMin2[4];
                   AnsiString NaisSen1[4];
                   AnsiString NaisSen2[4];
                 }TabCat[8];
 
  HANDLE hCat;
  hCat = CreateFile ("Categorie.txt",
                        GENERIC_READ | GENERIC_WRITE,
                        FILE_SHARE_READ,
                        NULL,
                        CREATE_ALWAYS,
                        FILE_ATTRIBUTE_READONLY,
                        NULL);
 
  if(hCat != INVALID_HANDLE_VALUE)
   {
      //Nombre de caracteres écrits dans le buffer
      DWORD nBW;
 
     for(int i=0;i<sizeof TabCat / sizeof TabCat[0];i++)
          WriteFile(hCat,&TabCat[i], sizeof TabCat[i],nBW, NULL);
     CloseHandle(hCat);
 
     //Focus au champ Naissance POUSSIN 2
     NaisPous2->SetFocus();
   }
   else
   {
     FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,
                   NULL,GetLastError(),
                   MAKELANGID(LANG_FRENCH, SUBLANG_FRENCH),
                   buffer, 500, NULL);
   }
 
  //Focus au champ NAISSANCE BENJAMIN : NaisBen1
  NaisBen1->SetFocus();
}}
Mais, cela génére des erreurs du style :
[C++ Erreur] Categorie_Combattant.cpp(83): E2034 Impossible de convertir 'unsigned long' en 'unsigned long *'
[C++ Erreur] Categorie_Combattant.cpp(83): E2342 Mauvaise correspondance de type dans le paramètre 'lpNumberOfBytesWritten' ('unsigned long *' désiré, 'unsigned long' obtenu)
Je ne comprends pas le message E2034. Pourquoi faut-il faire cette conversion?
Je ne comprends égelement pas le message E2342...
Pourriez-vous m'aider???
Merci d'avance...