Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-05-2020
AdrianD AdrianD is offline
Miembro
 
Registrado: may 2003
Ubicación: San Juan - Argentina
Posts: 113
Poder: 21
AdrianD Va por buen camino
Problema con ventanas desde dll

Hola buen día gente. Le comento un problema que tengo en delphi 10.3 a ver si alguien me hecha alguna luz sobre el tema.
Tengo un sistema de gestión que estoy reescribiendo en delphi 10.3 para windows, los distintos módulos del sistema están en dlls, o sea hay una dll para los productos, una para ventas, una para proveedores, etc.
El problema que tengo es que si desde una form en alguna de esas dlls muestro alguna otra form esperando un resultado o tan simplemente un messagebox con algún mensaje, al cerrarse alguna de estas últimas el control no vuelve a la form que la lanzó y tengo que hacer click sobre la form que la lanzó para que esta retome el control.
A alguien le pasó algo así?

Desde ya muchas gracias
Responder Con Cita
  #2  
Antiguo 02-06-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.278
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Creo que hasta cierto punto es lógico, porque el código de tu DLL no deja de ser como una aplicación independiente.
No explicas cómo abres los formularios de la DLL, puedo imaginar que la cargas con LoadLibrary.
Otra duda es porqué no utilizar BPL's.
En el caso de DLL's creo que puedes realizar la sincronización utilizandodo los Handles de tu aplicación en delphi (aplicación, form principal,...)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 02-06-2020
AdrianD AdrianD is offline
Miembro
 
Registrado: may 2003
Ubicación: San Juan - Argentina
Posts: 113
Poder: 21
AdrianD Va por buen camino
Neftali, muchas gracias por responder. Si exactamente lo hago con loadlibrary, esto no me pasaba con delphi 6, de todas formas no tengo problemas en cambiar. Nunca lo había hecho con bpl's pero puedo cambiarlo
El código que tengo en la dll es este

Application.Handle := AppHandle;
dmArticulos := TdmArticulos.Create(Application);
dmArticulos.conArticulos.SharedCliHandle := DBHandle;
dmArticulos.conArticulos.Open;
frmArticulos := TfrmArticulos.Create(Application);
frmArticulos.Show;

De nuevo muchas gracias
Responder Con Cita
  #4  
Antiguo 03-06-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.278
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Si ese código o formulario sólo lo vas a utilizar en una aplicación hecha en delphi, yo te recomendaría que utilizaras packages (BPLs).
Piensa (no sé quien dijo esto) que "una BPL es como una DLL con esteroides".
Si te decides a usar BPL's, luego puedes decidir si las linkas/cargas de forma estática o dinámica.
A malas siempre puedes usarla como una DLL, incluso la puedes seguir cargando con LoadLibrary (aunque pierdes funcionalidad).

Si por el contrario ese código o formularios tienes pensado o hay la posibilidad de que los utilices en otras aplicaciones (otros lenguajes) no te queda otra que seguir utilizando DLL's.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 03-06-2020
AdrianD AdrianD is offline
Miembro
 
Registrado: may 2003
Ubicación: San Juan - Argentina
Posts: 113
Poder: 21
AdrianD Va por buen camino
No la verdad que todo se usa dese aplicaciones que desarrollo en Delphi. Habrá en el foro algún ejemplo de como usar de este modo las BPL's? así busco

De nuevo muchas gracias
Responder Con Cita
  #6  
Antiguo 04-06-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.278
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Puedes hacer pruebas con packages.
Aquí tienes un artículos que explica (o lo intenta) las diferentes opciones entre DLL's y BPL's. Y entre carga estática y dinámica.
También tienes ejemplos sencilos.

https://neftali.clubdelphi.com/dlls-...es-en-runtime/

Como dije al final una BPL y similar a una DLL, pero si vas a utilizarla desde delphi tiene ventajas, ya que puedes utilizar RTTI
Aunque ya es un poco antiguo, aquí tienes otro artículo que habla de cómo trabajar con BPLs de forma dinámica, implementando un sistema de Plugins (carga dinámica de packages).

https://neftali.clubdelphi.com/siste...elphi-parte-2/
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 04-06-2020
AdrianD AdrianD is offline
Miembro
 
Registrado: may 2003
Ubicación: San Juan - Argentina
Posts: 113
Poder: 21
AdrianD Va por buen camino
Muchas gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema con ventanas MDI al acceder a base de datos hagsoft Varios 11 13-08-2014 19:52:35
Problema con el manejo de las ventanas dentro de la aplicacion maxibaco Varios 2 28-11-2006 20:01:09
problema con ventanas modales droguerman OOP 1 18-09-2006 23:22:39
Problema con ventanas y mensajes m@kio Varios 1 30-06-2005 11:47:52
Problema con ventanas MDIChild rafadrover Varios 2 07-08-2003 08:39:09


La franja horaria es GMT +2. Ahora son las 01:15:29.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi