Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Rhertz

#11
Estoy leyendo un Richbox de otra aplicación desde la mia, funciona perfecto hasta que intento obtener cada linea en un bucle, estoy seguro que es error mio en el bucle porque editando manualmente donde puse nbucle sale perfecto...
DWORD dwlineas = SendMessage(hListWnd,EM_GETLINECOUNT,0,0); // Obtengo la cantidad de lineas del RichTextBox
  int nbucle=0; // marco el 0 en el bucle
 
   while(nbucle<=dwlineas){ // lo inicio
   DWORD dwCount = SendMessage(hListWnd,EM_LINELENGTH,0,0); // obtengo el largo de la linea
if(dwCount){ // si todo esta correcto
char* lpBuff = new char[dwCount+1]; // creo que es un puntero con el largo de la linea +1
if(!lpBuff){ // si no hay buffer, error
MessageBox(NULL,"Error with memory!",NULL,MB_OK);
return 1;
}
if(LB_ERR != SendMessage(hListWnd,EM_GETLINE,nbucle,(LPARAM)lpBuff)){ // si no hay error, obtengo la linea, nbucle es la linea que quiero
cout<< "Bucle: " << nbucle << endl; // me da el número de bucle
           cout << lpBuff << endl; // imprime la linea
}
delete [] lpBuff; // borro el puntero del buffer
}
   //
   nbucle++; // sumo uno al bucle
   Sleep(2000); // espero 2 segundos
   }


El código funciona sólo con la primer linea, si quito el while y pongo que me de otras lineas funciona perfectamente, dentro del bucle no obtiene más que la primera, a ver si alguien me puede ayudar.