dsl


c'est que je l'ai lu et que je le repeat betement

*
bref j'ai un autre petit probleme plus ou moins lié alors je sais pas si faut que je refasse un post ou pas...
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
char * chemin=new char [3000];
chemin="d:\\";
// ou alors
//string chemin;
//chemin ="d:\\";
switch (message) /* handle the messages */
{
case WM_COMMAND :
switch(LOWORD(wParam))
{
case ID_LISTBOX :
{
if ((LOWORD(wParam) == ID_LISTBOX) && (HIWORD(wParam) == LBN_SELCHANGE))
{
ListBee(chemin);
break;
}
}
}
etc...
ma fonction ListBee qui est un peu longue...que j'ai racourci en truc inutile pour mon probleme.
void ListBee(char * chemin)
{
char * caption;
caption= new char[1024];
strcpy(caption, chemin);
strcat(caption,"\\");
strcat(caption,"dossier");
delete[] chemin;
chemin=new char[3000];
strcpy(chemin, caption);
}
ou
void ListBee(string chemin)
{
char * caption;
caption= new char[1024];
strcpy(caption, chemin.c_str());
strcat(caption,"\\");
strcat(caption,"dossier");
chemin.assign( caption);
}
voilà dans la procedure
LRESULT CALLBACK WindowProcedure je n'arrive pas a modifier mon "chemin"....
J'ai un doute sur le fait que la procedure en fait fait une boucle et me reassigne mon "chemin" que ce soit string ou char *
a cause de ma ListBox dans le switch...
en gros a chaque fois que j'utilise ListBee, le parametre devient "d:\\" or je voudrais qu'il change.. est ce un probleme de pointeur ou est ce a cause de la procedure
LRESULT CALLBACK WindowProcedure Merci car vraiment je vois pas et si c pas a cause de la procedure ca m'eviterai de reprendre un gros bout de code