• Domingo 6 de Julio de 2025, 20:16

Mostrar Mensajes

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


Mensajes - diego.martinez

Páginas: 1 ... 8 9 [10] 11 12
226
JavaScript / Cambio De Imagen De Fondo En Tabla
« en: Sábado 28 de Abril de 2007, 00:27 »
Buenas:

Estoy haciendo una pequeña funcion en php para que me pinte un menu.
Para ello, dibujo las celdas de una tabla y en ellas pongo un background de imagen.
Mi intención es que cuando se pase el cursor por encima (OnMouseOver) se cambie la imagen de background por otra.

He probado con :

<table>
<tr>

<td onMouseOver="javascript: style.background-image=url('imagen_over.gif');" style="background-image:url('imagen.gif');">

</td>
</tr>
</table>

Pero no tiene ningun efecto, me podeis indicar como se podria hacer? gracias de antemano.

PD: He visto algunos tutoriales para hacerlo cambiando el class style , pero no me vale por que es un background distinto segun la linea de la tabla.

227
Visual C++ / Re: Getprocaddress
« en: Lunes 2 de Abril de 2007, 13:39 »
muchas gracias,

al final resultaba que no exportaba la funcion por que no la habia escrito en el .def  :whistling:

228
Visual C++ / Getprocaddress
« en: Viernes 30 de Marzo de 2007, 15:36 »
Buenas:

LLevo mis buenas horas dandole vueltas a lo que creo que sera un error de lo mas simple. He mirado en Google y no encuentro lo que puedo estar haciendo mal.
Estoy haciendo una dll.

en el .h pongo :

Código: Text
  1. #ifdef WRAPPER_EXPORTS
  2.   #define WRAPPER_API __declspec(dllexport)
  3. #else
  4.   #define WRAPPER_API __declspec(dllimport)
  5. #endif
  6.  
  7.  
  8. WRAPPER_API void Test(void);
  9.  

en el .CPP pongo:

Código: Text
  1. #define WIN32_LEAN_AND_MEAN  
  2. #include &#60;windows.h&#62;
  3.  
  4. #include &#34;Wrapper.h&#34;
  5.  
  6.  
  7. BOOL APIENTRY DllMain( HANDLE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)
  8. {
  9.   switch (ul_reason_for_call)
  10.   {
  11.   case DLL_PROCESS_ATTACH:
  12.         MessageBox(NULL,&#34;Process Attachment!&#34;,NULL,NULL);
  13.         break;
  14.   case DLL_THREAD_ATTACH:
  15.         break;
  16.   case DLL_THREAD_DETACH:
  17.         break;
  18.   case DLL_PROCESS_DETACH:
  19.         MessageBox(NULL,&#34;Process Dettachment!&#34;,NULL,NULL);  
  20.         break;  
  21.   }
  22.     return TRUE;
  23. }
  24.  
  25. WRAPPER_API void Test(void)
  26. {
  27. /*... CODE ... */
  28. }
  29.  
  30.  
  31.  


Hasta aqui todo es lo que me crea practicamente el wizard.
El problema es que cuando la voy a usar en el programa WRAPPER_TEST.cpp

Código: Text
  1. #include &#60;windows.h&#62;
  2.  
  3. void (*Pru)();
  4.  
  5. int APIENTRY WinMain(HINSTANCE hInst,HINSTANCE hPrev,LPSTR lp,int nShowCmd)
  6. {
  7.   SetErrorMode(0);
  8.        HINSTANCE hLib=LoadLibrary(&#34;Wrapper.dll&#34;);
  9.  
  10.      if (hLib!=NULL)
  11.        {
  12.        Pru=(void(*)())GetProcAddress(hLib,&#34;Test&#34;);
  13.        if (Pru==NULL)        
  14.       MessageBox(NULL,&#34;PRU NULL!&#34;,NULL,NULL);        
  15.        }
  16.  
  17.      return 0;
  18. }
  19.  


Resulta que Pru siempre me da NULL, no se que puedo estar haciendo mal en esta DLL.
Muchas gracias por anticipado.

229
Visual C++ / Re: Templates
« en: Viernes 2 de Marzo de 2007, 14:31 »
muchas gracias por la respuesta.

Lo de no inicializar el objeto ha sido fallo mio al copy/pastear el codigo , estaba inicializado.

Voy a echarle un ojo a esos links a ver si me aclaro.

Gracias  :hola:

230
Visual C++ / Re: Templates
« en: Viernes 2 de Marzo de 2007, 11:48 »
perdon, es que supuse que seria un problema de plantillas pongo el codigo:


Código: Text
  1.  
  2. ////main.cpp
  3.  
  4. #include &#60;windows.h&#62;
  5. #include &#34;appTreeNode.h&#34;
  6.  
  7. int APIENTRY WinMain(HINSTANCE hInst,HINSTANCE hPrev,LPSTR lp,int nShowCmd)
  8. {
  9. appTreeNode&#60;int&#62; *AlarmTree;   //creo el arbol de ints
  10. AlarmTree-&#62;AddSon(0);              //le añado un 0
  11.  
  12. return 0;
  13. }
  14.  
  15.  
  16. ////// appTreeNode.h
  17.  
  18. template &#60;class T&#62;
  19. class appTreeNode
  20. {
  21. protected:
  22.   T Data;
  23.  
  24.   appTreeNode&#60;T&#62; *Parent;
  25.   appTreeNode&#60;T&#62; *Son;
  26.   appTreeNode&#60;T&#62; *Brother;
  27.  
  28. public:
  29.  
  30. appTreeNode&#60;T&#62;(T TData) : Parent(NULL),
  31.                                           Son(NULL),
  32.                                           Brother(NULL)
  33.                                                    {this-&#62;Data=TData;}
  34. ~appTreeNode&#60;T&#62;  ();
  35.  
  36. void AddSon(T Son);
  37. };
  38.  
  39.  
  40. ///////// appTreeNode.cpp
  41. //------------------------------------------------------------------------------- Destructor
  42. template &#60;typename T&#62;
  43. appTreeNode&#60;T&#62;::~appTreeNode&#60;T&#62;        ()
  44. {
  45.  ///TO DO///
  46. };
  47. //------------------------------------------------------------------------------- AddSon
  48. template &#60;typename T&#62;
  49. void AddSon (T Son)
  50. {
  51.      appTreeNode&#60;T&#62; *Tmp;
  52.      if (this-&#62;Son==NULL)
  53.     {
  54.   this-&#62;Son=new appTreeNode&#60;T&#62;(Son);
  55.   this-&#62;Son-&#62;SetParent(this);
  56.     }
  57.   else
  58.     {
  59.     Tmp=this-&#62;Son;
  60.     while (Tmp-&#62;Brother!=NULL)
  61.                                Tmp=Tmp-&#62;Brother;
  62.     Tmp-&#62;Brother=new appTreeNode&#60;T&#62;(Son);
  63.     Tmp-&#62;SetParent(this);
  64.     }                          
  65.                          
  66. };
  67.  
  68.  

Aqui esta el codigo, es una prueba de arbol sencillita. Pero si no meto el AddSon en inline de la clase, me dice que no esta resuelta.

231
Visual C++ / Templates
« en: Viernes 2 de Marzo de 2007, 11:09 »
buenas:

estoy haciendo una clase de arbol al estilo stl con plantillas.

el caso es que declaro la clase en el .H:

Código: Text
  1.  
  2. template &#60;typename T&#62;
  3. class appTreeNode
  4. {
  5.   ...
  6. }
  7.  
  8.  
y todo va bien,si los metodos los declararo en la propia clase;
 si no me da problemas de compilacion.

en el Cpp lo he puesto asi:

Código: Text
  1.  
  2. //------------------------------------------------------------------------------- AddSon
  3. template &#60;typename T&#62;
  4. void      appTreeNode&#60;T&#62;::AddSon      (T nSon)
  5. {
  6.   ...
  7. };
  8.  
  9.  

me dice que no encuentra el metodo a la hora de compilar:
unresolved external symbol "public: class appTreeNode<class AMESSAGE *> * __thiscall appTreeNode<class AMESSAGE *>::GetSon(int)" [...] referenced in function _WinMain@16

Tiene pinta de ser que uso el template incorrectamente, pero lo he hecho tal como he leido en las web...


Para usar las templates solo tengo que especificar el
template <typename T> antes del metodo que las usa no?

232
Visual C++ / Re: Compilador Y Seh
« en: Lunes 19 de Febrero de 2007, 13:57 »
La razon es que no todos los modulos los he hecho yo, tendria que cambiarlos.  &lt;_&lt;

A mi tambien me parece que no esta capturando las excepciones internas...

Gracias por las respuestas, seguire investigando...

233
Visual C++ / Re: Compilador Y Seh
« en: Lunes 19 de Febrero de 2007, 12:27 »
vaya, justo estaba respondiendole a Danielo cuando ha respondido EternalIdol.

Entonces, es un buen lio, por que tengo parte de codigo usando try/catch de c y otra parte de SEH...

Tendria que limpiarlo todo , entonces la pregunta es...
si es una aplicacion windows es mejor usar SEH por los ExceptionHandlers o es mejor __try/__catch?.

Si en un mismo obj no se mezclan los 2 modelos (Se conmutan con el Define); puede la aplicacion convivir con modulos SEH y  otros con try de c  o  es peligroso?

gracias por las respuestas.

234
Visual C++ / Re: Compilador Y Seh
« en: Lunes 19 de Febrero de 2007, 12:22 »
gracias por la respuesta.

lo tenia como  #include <iostream>
por que el iostream.h ni lo encuentra

asi que ningun cambio por ahi.

los warning todos aparecen en iostream.h y en ostream.h

uso Visual Studio .Net 2003 por si se os ocurre si es alguna cosa propia del compilador.

235
Visual C++ / Compilador Y Seh
« en: Lunes 19 de Febrero de 2007, 11:35 »
Buenas:

Me he creado una macro, que dependiendo de si se define un define mio, cambia la forma en la que se reciben las excepciones:

Código: Text
  1.  
  2.  
  3. #ifdef DEBUG_APP_ERROR
  4.   #define _APP_TRY __try
  5.   #define _APP_CATCH(m) __except (ExpFilter(m,GetExceptionInformation(), GetExceptionCode(),__LINE__,__FUNCTION__)){}
  6. #else
  7.   #define _APP_TRY try
  8.   #define _APP_CATCH(m) catch(...) {}
  9. #endif
  10.  

despues lo uso en un cacho de codigo:

Código: Text
  1.  
  2. #define DEBUG_APP_ERROR
  3. while (!app-&#62;IsFinished())
  4.     {    
  5.     _APP_TRY
  6.         {    
  7.         app-&#62;Init     ();
  8.         app-&#62;Main   ();
  9.         app-&#62;End   ();
  10.         }
  11.         _APP_CATCH(&#34;Bucle Principal&#34;);
  12.     }
  13.  
  14.  


Bueno, el caso es que cuando lo compilo, me dice :

Cannot use __try in functions that require object unwinding Cannot use __try in functions that require object unwinding

He buscado en Google y la causa es que no compilaba con /GX- para deshabilitar las SEH y usar try/catch de c (corregidme si me equivoco).

La cosa ahora es que con esa opcion, cuando compilo, el compilador me saca otro warning si uso el "using namespace STD".

warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc

Bueno, pues son Incompatibles uno con el otro /Gx- override /EHsc , si quito /Gx- me dice que no puede hacerlo y si lo pongo me dice que no tiene el unwind...

¿Que estoy haciendo mal?
¿Puedo ignorar el warning?
¿Me estoy liando y realmente no entendi bien?

Gracias por adelantado y disculpad el tamaño del post.

236
Visual C++ / Re: Hacer Gráficos Estadísticos 2d Y 3d En C++ Y C#
« en: Jueves 15 de Febrero de 2007, 19:33 »
si la pregunta en concreto es que se actualicen dinamicamente puedes colocar la funcion que hace la estadistica en el WM_PAINT y en el momento que recibe la entrada de datos, invalidar el contenido de la ventana y actualizar con UpdateWindow.

237
Visual C++ / Re: Icono De Notificacion Desaparece Al Pasar Raton
« en: Jueves 15 de Febrero de 2007, 00:30 »
muchas gracias, creo que encontre el fallo.

No inicializaba a tiempo la ventana y el tray se creaba antes de que la ventana estuviera correctamente inicializada. No lo veia por que la ventana funcionaba correctamente, y el icono de notificacion parecia desaparecer "despues".

238
Visual C++ / Re: Icono De Notificacion Desaparece Al Pasar Raton
« en: Miércoles 14 de Febrero de 2007, 17:43 »
pues no, sigue mal  :lightsabre:
la verdad es que este fallo me persigue desde hace mucho.
He probado usando el nuevo tamaño de estructura tambien NOTIFYICON_V2_SIZE y va mal igualmente.

 :(

239
Visual C++ / Re: Icono De Notificacion Desaparece Al Pasar Raton
« en: Miércoles 14 de Febrero de 2007, 17:00 »
pues voy a probar... gracias

240
Visual C++ / Icono De Notificacion Desaparece Al Pasar Raton
« en: Martes 13 de Febrero de 2007, 18:03 »
Buenas de nuevo:

Tengo un icono de notificacion en elSystem Tray.
Lo creo con Shell_NotifyIcon y tengo una ventana valida para que reciba sus msg.


NOTIFYICONDATA   m_niData;            //estructura con los datos del tray
      this->hIcon=LoadIcon(GetModuleHandle(NULL),MAKEINTRESOURCE(IDI_ICON));

   m_niData.cbSize=sizeof(NOTIFYICONDATA);      //tamaño de la estructura    
   m_niData.hIcon=hIcon;                                       //icono
   m_niData.hWnd=window;                                    //handle del window que contendra el proceso que administrara sus messages
   

   strcpy(m_niData.szTip,this->Name);      
   

   m_niData.uCallbackMessage=WM_APPTRAY;    //identificador del mensaje cuando hay una notificacion del tray
   m_niData.uFlags=NIF_ICON | NIF_MESSAGE | NIF_TIP;  //habilita estas opciones en el tray                  
   m_niData.uID=ID_ICONDATA;               //identificador del tray



      //-
   Shell_NotifyIcon(NIM_ADD,&m_niData);




El caso es que se crea correctamente, pero al pasar el raton sobre el ... desaparece...

La ventana existe correctamente, ya que procesa otros mensajes.

Hay un bucle de mensajes correcto.

No se me ocurre mas...

gracias por anticipado.

241
Visual C++ / Warning De Linkado
« en: Lunes 12 de Febrero de 2007, 15:32 »
buenas:

al linkar la libreria ADVAPI32.lib que necesito para programar los registros del windows me aparece el warning de linkado:

 all references to 'ADVAPI32.dll' discarded by /OPT:REF

realmente tengo la /OPT:REF

es benigno este warning?
deberia hacer algo?
que se supone que es esa dll?


gracias por anticipado.

242
Visual C++ / Re: Regopencurrentuser
« en: Jueves 8 de Febrero de 2007, 14:34 »
ok, muchas gracias.

243
Visual C++ / Regopencurrentuser
« en: Jueves 8 de Febrero de 2007, 13:34 »
buenas:

estoy urgando en los registros y haciendo una clase para modificar los registros y asi lanzar las aplicaciones desde startup.

yo lo hago asi:

char s[]="Software\\Microsoft\\Windows\\CurrentVersion\\Run\\";
LONG ret=
open = RegOpenKeyEx(HKEY_CURRENT_USER, s, 0, KEY_WRITE | KEY_READ, &hKey);

sin embargo he leido en la msdn que deberia abrirlo con RegOpenCurrentUser.

Que diferencia hay?
Como puedo abrir la subkey adecuada si uso RegOpenCurrentUser?
(por que creo que solo abre la Key  HKEY_CURRENT_USER).
Como puedo hacer para que se inicie la aplicacion independientemente del usuario en el que se instale?


gracias de antemano

244
Visual C++ / Re: Desabilitar Tecla Enter
« en: Viernes 2 de Febrero de 2007, 11:29 »
tambien podrias cazar en el Procedure el WM_KEY del VK_ENTER y devolver 0;

245
Visual C++ / Re: Archivo Abrir - Nueva Ventana
« en: Lunes 22 de Enero de 2007, 21:24 »
no entiendo muy bien el contexto de tu pregunta.
Pero para crear una nueva ventana tienes a tu disposicion:

createwindow

y createwindowex

claro esta, que necesitaran su bucle de mensajeria pero si te las miras veras que son muy faciles de manejar. Eso si, es Win32.

246
Visual C++ / Re: Teclado
« en: Sábado 20 de Enero de 2007, 11:52 »
a ver...

en glutKeyboardFunc le pasas el nombre de una funcion que reciba un char que es la tecla pulsada y 2 int que son las coords del raton (que aunque no te interesen las recibe igual).

Cuando se pulsa una tecla, se llama a esa funcion

ejemplo :

void MyFuncion(char key,int x,int y)
{
           switch(key)
          {
          case 'A':case 'a': do something;break;
          case 'B':case 'b': do another something;break;
           }
}

247
Visual C++ / Re: Teclado
« en: Jueves 18 de Enero de 2007, 08:49 »
si lo unico que necesitas es recibir los eventos de las pulsaciones en las librerias de utilidades de OpenGl tienes una funcion que se llama GlutKeyboardFunc a la que le pasas una función que se ejecuta al pulsarse una tecla. En esa funcion puedes leer el tipo de tecla pulsada y hacer los eventos que quieras.

He supuesto que esta te interesaria mas.

248
Visual C++ / Re: Como Exportar Una Grid A Excel?
« en: Jueves 4 de Enero de 2007, 10:51 »
puedes usar los drivers odbc de microsoft y el objeto CDatabase para abrir una base de datos excel.

Una vez abierta, usando sentencias sql vas cargando la información de la tabla en la tabla excel.

249
Visual C++ / Re: Ado En V C++
« en: Domingo 31 de Diciembre de 2006, 01:39 »
Bueno, yo tambien me apunto, a mi tambien me interesa, quiero pasar todo lo que tengo para ODBC a DAO.

250
Visual C++ / Re: Acelerar Procesamiento Cdatabase
« en: Miércoles 27 de Diciembre de 2006, 17:23 »
Bueno, aunque no era un fallo propiamente dicho, la linea en la que ponia en pantalla el numero de registro era la causante del misterioso comportamiento, y que curiosamente tambien habia eliminado por [...] al pensar que era codigo de lo mas simple.
Usaba un sprintf para escribir "procesados xxxx registros de xxxxx" y luego lo mandaba con un SetWindowText a su correspondiente Label. Lamentablemente eso provocaba la aparicion de multiples mensajes en la pila que no eran digeridos a suficiente velocidad.
La he eliminado y en su lugar hay una barra de progreso que se autoredibuja al ser ajustada, con lo que he ahorrado mucha carga al bucle principal.
Ahora va como el rayo.
Ya decia yo que el access estaba bien  &lt;_&lt; .

Páginas: 1 ... 8 9 [10] 11 12