salut.
voila, presque chacun de mes prog, j'obtiens une erreur memoire du type "l'adresse "0x0001834F" ne peut etre "read"/"written"........."
c 'est tres chiant !!!!!!!!
alors, qu'est-ce qui ne va pas??!!
ps : meme sur certain programme du style eDonkey, j'ai des erreurs, comme ca. est-ce que c'est passke j'ai pas assez de memoires ? (je suis sur un vieux Pc avec 32Mo RAM sous Win2000)
un de mes codes :
#include <windows.h>
#include <fstream.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <commctrl.h>
#include "resource.h"
FILE *openbin;
HMENU menu;
char buffer[82];
char *c;
int c1;
char Aconv[1024];
char *conv;
int apconv;
void openbi()
{
openbin = fopen(buffer,"r");
while(!feof(openbin))
{
c1 = getw(openbin);
itoa(c1,c,2);
SetDlgItemText(NULL,IDC_TEXT,c);
}
}
LRESULT CALLBACK OpenProc(HWND OProc, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
case WM_CLOSE:
EndDialog(OProc,0);
break;
case WM_DESTROY:
EndDialog(OProc,0);
break;
case WM_INITDIALOG:
SetWindowPos(OProc,HWND_TOP,200,200,455,108,SWP_SHOWWINDOW);
break;
case WM_COMMAND:
switch(HIWORD(wParam))
{
case BN_CLICKED:
switch(LOWORD(wParam))
{
case ID_OPEN:
GetDlgItemText(OProc,IDC_OPENEDIT,buffer,80);
EndDialog(OProc,0);
openbi();
break;
}
}
break;
default:
return FALSE;
}
return FALSE;
}
LRESULT CALLBACK DlgProc(HWND DlgProc, UINT msg, WPARAM wParam, LPARAM lParam)
{
int nCmdShow;
switch(msg)
{
case WM_CLOSE:
DestroyWindow(DlgProc);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_COMMAND:
switch(HIWORD(wParam))
{
case BN_CLICKED:
switch(LOWORD(wParam))
{
case ID_FICHIER_OUVRIR :
{
CreateDialog(NULL,MAKEINTRESOURCE(IDD_DIALOG2), NULL, (DLGPROC) OpenProc);
if(DlgProc == NULL)
{
MessageBox(NULL, "Window Creation Failed!", "Error!",
MB_ICONEXCLAMATION | MB_OK);
return 0;
}
ShowWindow(DlgProc, nCmdShow);
UpdateWindow(DlgProc);
}
break;
case ID_CONVERSION_CONVERTIRLETEXTEACTUELENBINAIRE_ENBINAIRE:
{
/*Une erreur est apparue ici*/
/* (mais la ca m'etonne pas trop, regardez comment je m'y prend mal pour convertir
un char * un int puis le int en char)
*/
GetDlgItemText(DlgProc,IDC_TEXT,conv,sizeof(conv));
apconv=atoi(conv);
itoa(apconv,Aconv,2);
SetDlgItemText(DlgProc,IDC_TEXT,Aconv);
}
break;
case IDCANCEL:
DestroyWindow(DlgProc);
break;
}
}
break;
default:
return FALSE;
}
return FALSE;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
HWND hDlg;
MSG Msg;
hDlg = CreateDialog(hInstance,MAKEINTRESOURCE(IDD_DIALOG1), NULL, (DLGPROC) DlgProc);
menu = LoadMenu(hInstance,MAKEINTRESOURCE(IDR_MENU1));
SetMenu(hDlg,menu);
if(hDlg == NULL)
{
MessageBox(NULL, "Window Creation Failed!", "Error!",
MB_ICONEXCLAMATION | MB_OK);
return 0;
}
ShowWindow(hDlg, nCmdShow);
UpdateWindow(hDlg);
while(GetMessage(&Msg, NULL, 0, 0) > 0)
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
}