PDA

Visualizza la versione completa : [C] Fallimento API GetDlgItemText


francesco_test
24-05-2006, 19:22
Buonasera a tutti,
sto usando la API GetDlgItemText per recuperare il contenuto di una label di un tool scritto in VC++.
Il problema e' che quando richiamo GetDlgItemText mi ritorna sempre 0 che e' indice di che la funzione fallisce.
Ecco il codice :


do
{
if(GetDlgItemText(hAppWnd,1011,p_str,100)!=0)
{
if(strcmp(p_str,"Stringa della LABEL del form")==0)
{
esci = 1;
}
else
{
esci = 0;
}
}
else
{
printf("get non avvenuta");
}
}while(esci==0);

Qualcuno mi sa dire dove e' il problema??
Saluti e grazie.

oregon
24-05-2006, 20:49
Quasi impossibile dire dove e' il problema ... L'unica cosa che ti posso dire e' di controllare il tipo di errore. Lo ottieni con la GetLastError modificando il codice cosi'



else
{
DWORD e = GetLastError();
printf("ECode: %d\n", e);
printf("get non avvenuta");
}

francesco_test
25-05-2006, 09:13
ciao Oregon
ho seguito il tuo consiglio e il codice di errore tornato e' 0 che corrisponde al fallimento della chiamata della funzione .
Allora la funzione giusta da usare non e'
GetDlgItemText per recuperare il testo di una label?
mah....

oregon
25-05-2006, 16:39
Originariamente inviato da francesco_test
ciao Oregon
ho seguito il tuo consiglio e il codice di errore tornato e' 0 che corrisponde al fallimento della chiamata della funzione .
Allora la funzione giusta da usare non e'
GetDlgItemText per recuperare il testo di una label?
mah....

Non mi sono spiegato ... non interessa il codice di ritorno della GetDlgItemText ma quello della GetLastError assegnato alla variabile e ottenuto come ti ho mostrato ...

francesco_test
25-05-2006, 20:59
vale lo stesso 0.

oregon
26-05-2006, 00:17
Questo e' molto strano ...

Hai eseguito passo passo il programma? Sei sicuro che la GetDlgItemText fallisca?

francesco_test
26-05-2006, 09:10
sicuramente GetDlgItemText torna 0.
comunque sto controllando la causa dell'errore sia nell'intorno

Loading