<p class="MsoNormal"><span style="">Muchas gracias Steven! Me
haz sacado de un gran apuro! </span><span style="font-size: 12pt; font-family: "Times New Roman";">Ya mi código trabaja bien y pudo continuar con mi
proyectoa</span><br><span style="">
Y gracias también por tus
consejos los voy a tomar muy en cuenta!</span></p>


<p class="MsoNormal"><span style="">Saludos!</span></p>


<br>
Steven Davidson escribió:
<blockquote cite="midE1I3gA8-00017k-R3@arkanian.h3m.com" type="cite">
  <pre>Hola Man,<br><br>El pasado 2007-06-27 21:41:30, Man Alvarez escribió:<br><br>MA> Steven modifiqué tu código para cargar la librería con LoadLibrary() y luego<br>MA> buscar el procedimiento con GetProcAddress() lo extraño es que ahora ya no
<br>MA> me funciona tu código, estoy empezando a creer que ahí puede estar el error.<br><br>[CORTE]<br><br>MA> PD: Mandé mi código en un adjunto de un correo anterior. llego a la lista<br>MA> esta vez?<br><br>Sí, pero en el ZIP no incluiste el fichero fuente de la aplicación donde usas la DLL. De todas maneras, has incluido el código que interesa en este mensaje.
<br><br>Veamos. Haciendo pruebas, arreglé el "problema". Haz lo siguiente:<br><br>HMODULE hDLL;<br>...<br>hDLL = LoadLibrary( "dll_dialogo.dll" );<br>...<br>case WM_COMMAND:<br>  if( HIWORD(wParam) == BN_CLICKED && LOWORD(wParam) == IDOK )
<br>  {<br>    if( !Dialog( hDLL  ) )<br>      MessageBox( hwnd, "Dialog() == FALSE", "ERROR", MB_OK );<br>  }<br>break;<br><br>Como puedes ver, paso el manipulador del módulo de la DLL a la función para que el cuadro de diálogo se base en ello. También puedes invocar 'GetModuleHandle()' si lo prefieres:
<br><br>Dialog( GetModuleHandle("dll_dialogo.dll") );<br><br><br>Por cierto, no aconsejo cargar y liberar la DLL tantas veces. Sugiero hacer esto al comienzo y al final, respectivamente. Por ejemplo, carga la DLL nada más entrar en 'WinMain()' y liberarla justo antes de retornar de ella. El esquema sería,
<br><br>int WINAPI WinMain( HINSTANCE hInst, HINSTANCE hNoUsado,<br>                    LPSTR lpszArg, int nModo )<br>{<br>  hDLL = LoadLibrary( "dll_dialogo.dll" );<br>  ...<br>  FreeLibrary( hDLL );<br>  return 
msg.wParam;<br>}<br><br>Tampoco incluí mi fichero de cabecera "dll_dialogo.h", ya que ahora estamos manipulando la DLL explícitamente.<br><br><br>Espero que ahora te funcione.<br><br>Steven<br>_______________________________________________
<br>Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br><a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
</a><br>Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br><br></pre>
</blockquote>