Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Tutorial Spy++

Iniciado por sanson18, 05 de Noviembre de 2007, 10:45:42 AM

« anterior - próximo »

sanson18

Buenas, estoy haciendo un proyecto en visual c++. Al ejecutarlo me da varios errores y no consiguo arreglarlos.

¿alguno conoce un tutorial o algo para saber manejar spy++, si puede ser en español?

De todas formas, despues escribire mas detalladamente mi problema.
Gracias.

Prompt

Yo creo que el debuger de visual studio es suficientemente potente como para resolver problemas chunguisimos. Tan chungo es el tuyo?

Nunca he usado Spy++ (creo) pero en la ayuda del MSDN debe haber  tutoriales a patadas.

fiero

Normalmente Spy++ te puede servir para saber los mensajes que recibe cierta ventana, o para saber el hWnd, la clase o las propiedades de las ventanas a las que puedas tener dificil acceso desde el debugger (raras veces). Pero si tienes errores de ejecución, el Spy++ no te va a servir de nada. ¿Si ejecutas tu programa en Debug no ves donde casca?

Ocasionalmente el Spy++ puede servir para crakear programas de esos que tienen botones deshabilitados. Ejecutas el programa, despues con el Spy++ averiguas la hWnd del boton desabilitado y paralelamente te haces un pequeño programilla para cambiar las propiedades de ese hWnd y habilitar el botón XDDDD

Pero vaya, para debuggear -normalmente- sirve mas bien poco.

un saludo
www.videopanoramas.com Videopanoramas 3D player

sanson18

Hola, pues estoy haciendo un proyecto con tres ventanas, al ejecutarlo si toqueteo mucho los tamaños a veces se queda colgado el programa. No me aparece ningun error, el programa se queda pillado y hay q bloquear la tarea.

No se como solucionar este problema. La verdad es q no se utilizar el debugger y lo q he intentado no me ha servido. Preguntando me dijeron q utilizace spy++ pero tampoco se utilizarlo y la ayuda q tengo esta en ingles y no lo comprendo bien.

Pensaba llegar a mi casa y poner las clases q utilizo y algun dato mas q podiese dar del proyecto pero hoy no voy a poder. Mañana lo explicare mas detalladamente.

Gracias.

fiero

Hi sanson18,

¿Qué es lo que no sabes utilizar del debugger? No se si es obvio lo que voy a decir, pero puede ser que algún principiante ande despistado, yo por si acaso lo pongo:
En VisualC, puedes compilar/ejecutar el programa en modo Release o en modo Debug. Para cambiar de modo hay que ir a "Build->Set active configuration...", ahí puedes seleccionar el modo Debug. Una vez seleccionado puedes recompilar la aplicación, el ejecutable en este modo es mayor que en modo Release, porque contiene información que sirve para correr el programa paso a paso. Una vez compilado, puedes correr el programa en modo Debug, esto es, pulsando F5 (en vez de Ctrl+F5 que directalente ejecuta el programa). Al pulsar sólo F5, en VisualC aparece una nueva barra de botones "Debug" (si no aparece la sacas) y en esta barra puedes activar dos ventanas importantes "Watch" y "Variables" que te servirán para poder ver el estado del programa. puedes poner un punto de interrupción con F9 en cualquier línea. Si el programa se cuelga, hay un botón en la barra de "Debug" con un dibujillo de pausa, llamado "Break Execution", con el que puedes pausar la ejecución y ver donde se ha colgado.

Te recomiendo que compres algún libro de VC, creo que casi todos lo hemos hecho al principio. Un buen libro de esos gordos es perfecto para sentar una buena base, después en interné puedes seguir avanzando.

un saludo
www.videopanoramas.com Videopanoramas 3D player

sanson18

Gracias, lo del boton "Break Execution" no lo sabia. Yo ejecutaba el debuger paso a paso y no sacaba nada en claro. Este proyecto llevo un tiempo q lo tengo algo parado y e perdido practica con visualc.

Al colgarse use el boton "Break Execution" y veo q me da error en una variable me dice: Error Expression cannot be evaluated. Seguire investigando a ver si doy con el problema.

De todas formas creo q el problema viene por las tres vistas q utilizo y algo hare mal, pienso q una sera alguna tonteria pero no doy con ella. Pongo un trozo del codigo donde creo estas vista por si puede ser de ayuda:

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
   // Estatica
   m_wndSplitter.CreateStatic(this, 2, 1);
   m_wndSplitter.SetRowInfo( 0, 270, 0 );
   m_wndSplitter2.CreateStatic(
      &m_wndSplitter,     // our parent window is the first splitter
      1, 2,               // the new splitter is 1 rows, 2 column
      WS_CHILD | WS_VISIBLE | WS_BORDER,  
               // style, WS_BORDER is needed
      m_wndSplitter.IdFromRowCol(0, 0)
      // new splitter is in the first row, first column of first splitter
   );
   m_wndSplitter2.CreateView(0, 0,
      RUNTIME_CLASS(CListaView), CSize(280, 0), pContext);
   m_wndSplitter2.CreateView(0, 1,
      pContext->m_pNewViewClass, CSize(320, 0), pContext);   
   m_wndSplitter.CreateView(1, 0,
      RUNTIME_CLASS(CTextoView), CSize(0, 0), pContext);
   
//   return CFrameWnd::OnCreateClient(lpcs, pContext);
   return TRUE;

}

sanson18

Bueno, pues x mas q lo intento no consiguo averiguar por q tengo este problema  :? No encuentro el motivo x el q falla.

Habría alguna forma de conseguir una ayuda para poder resolverlo?

Pienso q será alguna pequeña tonteria, pero no consiguo encontrarlo y x mas vueltas q le doy no saco nada claro.

sanson18

Habria alguien interesado o que conociese a alguien para poder ver este programa?

Podria enviarle los ficheros por email o bien quedar, yo soy de malaga, o cualquier otra forma q se ocurra.

Por supuesto q le compensaria el tiempo q le dedique a ayudarme.

Gracias. Para cualquier sugerencia avisarme.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.