Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-11-2019
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Cita:

NOTA IMPORTANTE: Al decirle que use el Packages Restas, como el programa sabe qué contiene ese package, lo que va a hacer es que cuando encuentre en un USES la unit URestas y el formulario UMain, NO LOS VA A AÑADIR AL EXE, porque sabe que en ejecución los va a encontrar dentro del package (Restas).

Tus dudas están en el segundo caso, pero como has visto, a la hora de programar no hay que hacer NADA DIFERENTE. El código no cambia y lo único que hacemos es poner las cosas (formularios y Units) en lugares diferentes.


La aplicación principal en el trabajo del día a día debe tener acceso a todos los formularios y units (sean DCUs o PAS), pero cuando finalmente se compilan y se linkan los paquetes y la aplicación, Delphi conoce lo que hay en cada Package y NO LO AÑADE a la APP principal, sino que guarda una referencia de a qué BPL debe ir a buscarlo.
entiendo con esto que lo que hace el BPL es "aislar / separar / encapsular" código (unidades formularios, etc) que no estarán incluidos en el exe, delphi "automaticamente" identifica que el form artículos esta dentro del bpl articulos y lo ejecuta de ahi

cuando distribuya el modulo tendre que entregar modulo.exe y articulos.bpl

asi es?


pregunta del millon, en el BPL tengo algunas otras unidades comunes, cuando las invoque en otras opciones, se llamaran dela BPL o de las units que estan fuera de la BPL
__________________
Dulce Regalo que Satanas manda para mi.....

Última edición por oscarac fecha: 26-11-2019 a las 18:13:07.
Responder Con Cita
  #2  
Antiguo 26-11-2019
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.325
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
Cita:
Empezado por oscarac Ver Mensaje
...entiendo con esto que lo que hace el BPL es "aislar / separar / encapsular" código (unidades formularios, etc) que no estarán incluidos en el exe, delphi "automaticamente" identifica que el form artículos esta dentro del bpl articulos y lo ejecuta de ahi
cuando distribuya el modulo tendre que entregar modulo.exe y articulos.bpl
asi es?

Correcto.

No sólo las tuyas sino también las de la VCL que necesites.
Si te dejas alguna, el programa dará un error al ejecutar.





Cita:
Empezado por oscarac Ver Mensaje
pregunta del millon, en el BPL tengo algunas otras unidades comunes, cuando las invoque en otras opciones, se llamaran dela BPL o de las units que estan fuera de la BPL

Lo mismo de antes.
El el USES tu colocas el nombre de la unit (PAS) que contiene la función que vas a ejecutar.
Al generar el ejecutable (si está marcado "Build with runtime packages"), delphi no añade esa información al EXE, sino que en ejecución irá a buscarla a la BPL.


Cita:
Empezado por oscarac Ver Mensaje
se llamaran dela BPL o de las units que estan fuera de la BPL
Depende del USES que hayas usado.
__________________
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 26-11-2019
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
estoy haciendo esto

he creado una bpl donde estan las unidades necesarias

creo un proyecto grupal llamado grupoPbl

adiciono un proyecto llamado PruebaArt
entonces quedaria
PruebaArt
Articulo.pbl

en PruebaArt creo un formuladio MDIform
un menu
un datamodule con conexion a la base de datos (ya conectada)
y dentro del menu una opcion para mostrar el formulario
uses frmtacalogoarticulo

en la opcion del menu tengo
frmCatalogoArticulo := TfrmCatalogoArticulo.create(self)
frmCatalogoArticulo .show

compilo con la opcion link with runtimes packages

y luego cuando ejecuto y activo la opcion para que se muestre el formulario con los articulos

aparece este error, aunque despues me muestra el formulario vacio, sin datos

Access violation at address 500613210 in module rtl210.bpl

me orientas mejor?
__________________
Dulce Regalo que Satanas manda para mi.....

Última edición por oscarac fecha: 26-11-2019 a las 21:09:18.
Responder Con Cita
  #4  
Antiguo 27-11-2019
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.325
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
Cita:
Empezado por oscarac Ver Mensaje
me orientas mejor?

Crea el proyecto con todos los ficheros necesarios (o uno más sencillo de estructura similar) y súbelo como adjunto.
Así lo podemos revisar.
Escrito sólo como texto es complicado...
__________________
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 29-11-2019
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
listo

hice lo solicitado


ahora no se pq no me genera el archivo PBL

quiza lo esta creando en otro lugar

yo uso una Unidad F

espero q puedan darme una mano
Archivos Adjuntos
Tipo de Archivo: rar Prueba BPL.rar (76,3 KB, 3 visitas)
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #6  
Antiguo 02-12-2019
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.325
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
Aquí he modificado el proyecto cambiando un poco la estructura para que esté más claro y cambiando la fuente da datos por un fichero XML para no depender de la Base de Datos, pero eso no debería modificar lo que estamos hablando.



Tal y como está, el proyecto MODULO está "sin runtime packages".



Por lo tanto si los compilas en el directorio de salida tendrás tres ficheros:





Como está compilando "sin runtime packages", significa que el fichero MODULO.EXE lleva todo lo necesario para compilar. Si lo pruebas deberia funcionar y si borras el fichero ARTICULO.BPL, debería seguir funcionando, pues como hemos dicho MoDULO.EXE compila "sin runtime packages" y lleva todo lo necesario.

Ahora prueba a cambiar para compilar MODULO "con runtime packages"



Tienes los 3 ficheros en el directoriO de salida, pero si te fijas ahora los tamaños son distintos. En este punto MODULO.EXE NO contiene todo lo que necesita. Parte de ello está en el fichero ARTICULO.BPL


El programa funciona de forma normal (igual que antes), pero con "runtime packages".
Una prueba sencilla es BORrAR el fichero ARTICULO.BPL y verás que ahora MODULO.EXE no se ejecuta.
Si miras las dependencias de MODULO.EXE verás que necesita al fichero ARTICULO.BPL
Archivos Adjuntos
Tipo de Archivo: zip Prueba BPLs.zip (58,9 KB, 8 visitas)
__________________
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 02-12-2019
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje

Tienes los 3 ficheros en el directoriO de salida, pero si te fijas ahora los tamaños son distintos. En este punto MODULO.EXE NO contiene todo lo que necesita. Parte de ello está en el fichero ARTICULO.BPL


El programa funciona de forma normal (igual que antes), pero con "runtime packages".
Una prueba sencilla es BORrAR el fichero ARTICULO.BPL y verás que ahora MODULO.EXE no se ejecuta.
Si miras las dependencias de MODULO.EXE verás que necesita al fichero ARTICULO.BPL
efectivamente he hecho la prueba y los tamaños cambian

cuando lo ejecuto sin check en runtimes packages el tamaño es mas grande, cuando compilo con esa opcion es mas chico pero me sale un mensaje de error

access violation at adress 5005FEC in module rtl210.bpl


quiero hacerle depuracion, pero antes de entrar a articulos aparece ese mensaje

pregunta--- se puede hacer depuracion de/en un bpl?
__________________
Dulce Regalo que Satanas manda para mi.....
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
Creacion de Indices en ejecucion javicho_villa Impresión 1 29-09-2005 06:27:21
Problemas con creacion de obj en ejecucion mbcito OOP 4 21-01-2005 18:18:12
Creacion de formulario en ejecucion Remp OOP 5 22-04-2004 19:14:15
Creación de tabla en tiempo de ejecución sledgehammer Conexión con bases de datos 3 16-09-2003 15:08:01
Creacion de componente en tiempo de ejecución cone220 OOP 1 16-09-2003 03:47:16


La franja horaria es GMT +2. Ahora son las 03:29:17.


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