Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: nolasco281 en 13 Abril 2014, 18:07 pm



Título: Problema con dialogo (Solucionado)
Publicado por: nolasco281 en 13 Abril 2014, 18:07 pm
Hola tengo un penque~no problema con un dialogo no encuentro el problema.

esta es la instruccion.
Código
  1. DialogBoxParam(hInstance, "DialogoPrueba", hwnd, DlgProc2, veces);

este es el error que me sale y no se por que.
Código
  1. [Error] invalid conversion from 'BOOL (*)(HWND, UINT, WPARAM, LPARAM) {aka int (*)(HWND__*, unsigned int, long long unsigned int, long long int)}' to 'DLGPROC {aka long long int (*)(HWND__*, unsigned int, long long unsigned int, long long int)}' [-fpermissive]

espero puedan orientarme saludos y muchas gracias


Título: Re: Problema con dialogo
Publicado por: amchacon en 13 Abril 2014, 22:31 pm
Problema de tipos de variables, pero falta código para saber cual es.

También puedes activar el modo -fpermissive. Aunque no es una buena práctica.


Título: Re: Problema con dialogo
Publicado por: Eternal Idol en 13 Abril 2014, 22:35 pm
El tipo de retorno de DlgProc2 no coincide con el de DLGPROC.

http://msdn.microsoft.com/en-us/library/windows/desktop/ms645465%28v=vs.85%29.aspx

http://msdn.microsoft.com/en-us/library/windows/desktop/ms645469%28v=vs.85%29.aspx

INT_PTR CALLBACK DialogProc(
  _In_  HWND hwndDlg,
  _In_  UINT uMsg,
  _In_  WPARAM wParam,
  _In_  LPARAM lParam
);

No es BOOL.


Título: Re: Problema con dialogo
Publicado por: nolasco281 en 13 Abril 2014, 22:46 pm
Grande eternal  ;-)

la solucion fue cambiar esto
Código
  1. BOOL CALLBACK DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)

por esto prototipo

Código
  1. INT_PTR CALLBACK DlgProc(HWND, UINT, WPARAM, LPARAM);

definicion
Código
  1. INT_PTR CALLBACK DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)

Mil gracias funciono a la primera.

Gracias de nuevo y saludos.


Título: Re: Problema con dialogo
Publicado por: Eternal Idol en 13 Abril 2014, 22:48 pm
De nadas  ::)