Fichier edit box

revelata Messages postés 19 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 16 juin 2003 - 26 mai 2003 à 17:00
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 26 mai 2003 à 17:59
Il me met erreur disp erreur INVALID_HANDLE_VALUE! Je comprend pas cette erreur mon fichier est bien là où je ledis!

6 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 mai 2003 à 17:18
Quel est ce mechant code qui ose t'embeter ?
BruNews, ciao...
0
revelata Messages postés 19 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 16 juin 2003
26 mai 2003 à 17:24
Je vais te montrer ce tres tres mechant code si tu vois une merde dis le moi je deviens folle:

HANDLE hheap;
char szfile[264];
char szappname[] = "DispText";
char errDISPO[] = "INDISPONIBLE";
char errMEM[] = "DEFAUT MEMOIRE";
char errLECT[] = "DEFAUT LECTURE";

void __stdcall AfficheTxt(HWND hwndDlg)
{
HANDLE hfl;
DWORD len, val; char *c 0, *pmem 0;
unsigned short *temppmem;

hfl = CreateFile(L"c:\\doc\\charte.txt", GENERIC_READ, 0, 0,
OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, 0); //if(hfl INVALID_HANDLE_VALUE) {c errDISPO; goto dispErr;}
len = GetFileSize(hfl, 0); //if(!len || len 0xFFFFFFFF) {c errDISPO; goto dispErr;} // if((pmem (char*) HeapAlloc(hheap, 0, len+1)) 0) {c = errMEM; goto closeFL;}
pmem = (char*) HeapAlloc(hheap, 0, len+1);
val = 0; ReadFile(hfl, pmem, len, &val, 0);

//if(val !len) {c errLECT; goto outHeap;}
pmem[len] = 0;
SetDlgItemText(hwndDlg, IDC_CHARTE, pmem);

//outHeap: HeapFree(hheap, 0, pmem);
//closeFL: CloseHandle(hfl);
if(c == 0) return;
//dispErr: MessageBox(NULL,TEXT("erreur fichier"),TEXT("erreur fichier"),MB_ICONERROR | MB_OK );
}

BOOL __stdcall dlgFileOpen(HWND hOwner)
{
OPENFILENAME ofn;
memset(&ofn,0,sizeof(ofn));
ofn.lStructSize = sizeof(OPENFILENAME); ofn.nFilterIndex 1; ofn.lpstrFilter L"TXT\0*.txt\0\0"; ofn.lpstrFile szfile; ofn.nMaxFile MAX_PATH; ofn.hwndOwner = hOwner;
ofn.lpstrTitle = L"";
ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY; ofn.FlagsEx 1; szfile[0] 0;
return GetOpenFileName(&ofn);
}

BOOL CALLBACK CharteBoxProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message) {
case WM_INITDIALOG:
CenterWindow(hwndDlg);

// SetClassLong(hwndDlg, GCL_HICON, (long)LoadIcon(0, IDI_APPLICATION));

SetDlgItemText(hwndDlg,IDC_LOGONNAME,settingsInfo.Username);
hheap = GetProcessHeap();
AfficheTxt(hwndDlg);
return TRUE;
case WM_COMMAND:
switch(wParam) {

case IDOK:
EndDialog(hwndDlg, WLX_SAS_ACTION_LOGON);
break;
case IDCANCEL:
EndDialog(hwndDlg, WLX_SAS_ACTION_LOGOFF);
break;
}
return TRUE;
}
return FALSE;
}

Je mets le chemin en dur et ca marche pas HELP!
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 mai 2003 à 17:39
Pourquoi L" ??? tu as mis _UNICODE ???
CenterWindow(hwndDlg); ??? c'est utile ???
Il faut laisser if(hfl == INVALID_HANDLE_VALUE) sinon tu risques badaboum.
Et pense a liberer la memoire de HeapAlloc();
Sinon sans le L devant nom de fichier devrait aller mieux si fichier n'est pas ouvert exclusif par un autre processus comme on le fait ici.
BruNews, ciao...
0
revelata Messages postés 19 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 16 juin 2003
26 mai 2003 à 17:52
J'ai enleve le L, je libere hheapfree

Il m'affiche des symbole un peu bizarre un mot puis des fois une ligne aléatoire qui n'appartient meme pas au fichier!
Comprend pas
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 mai 2003 à 17:58
Le mieux tu me l'envoies sinon y en aura pour 1 heure.
Je te le retourne gueri.
BruNews, ciao...
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 mai 2003 à 17:59
Et 1 copie de ton fichier txt si possible que je verifie.
BruNews, ciao...
0
Rejoignez-nous