Problème avec message WM_CREATE
Bonjour à tous !
J'ai un problème avec l'utilisation de WM_CREATE de l'api windows. En fait, je cherche à programmer un générateur dynamique de fenêtre à partir de scripts. Donc lorsque la fenêtre est crée, j'interprète le script qui est censé décrire la fenêtre. Mon problème vient du fait que l'exécution d'une fonction est subitement interrompue sans raison, Alors qu'après tests, il s'avère possible que faire une boucle infini dans WM_CREATE, donc le problème ne vient pas de là :(
donc le code en question est celui-ci (il s'agit d'une recherche dans un arbre binaire)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| DOS9API COMMANDFLAG Dos9_GetCommandProc(char* lpCommandLine, LPCOMMANDLIST lpclCommandList, void** lpcpCommandProcedure)
{
int iRet;
while ((iRet=strnicmp(lpCommandLine,lpclCommandList->ptrCommandName,lpclCommandList->iLenght)))
{
printf("Nouveau test : %s==%s\n",lpclCommandList->ptrCommandName, lpCommandLine);
if (iRet>0)
{
if (!(lpclCommandList=lpclCommandList->lpclRightRoot)) return -1;
}
else if (iRet<0)
{
if (!(lpclCommandList=lpclCommandList->lpclLeftRoot)) return -1;
}
}
*lpcpCommandProcedure=lpclCommandList->lpCommandProc;
return lpclCommandList->cfFlag;
} |
le bug semble arriver à l'execution de :
Code:
strnicmp(lpCommandLine,lpclCommandList->ptrCommandName,lpclCommandList->iLenght)
la je suis a cours d'idées pour expliquer ce comportement. j'espère que quelqu'un saura éclairer ma lanterne :)
Merci d'avance