FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
|||
|
|||
Acceso a BPLs
Hola a tod@s:
Soy nuevo aquí. Seguramente este tema ya es recurrente y con un link me contestéis. Tengo la típica aplicación que está disgregada en .bpl-s. Hasta ahí bien. Ahora bien, en distribución de la aplicación me llevo los .bpl y los .exe sólo. Ahora, en esta distribución, quiero desarrollar otra aplicación basándome en los .bpl con el código típico de:
Pero, se ve que cuando intento cargarlos así no están registradas las clases (ni nada) en el paquete. El paquete se carga, pero siempre me da que la clase no está... El caso es que en el proyecto principal yo no digo nada especial para que esto funcione, que yo sepa. Pero ahora mi idea es decirle desde código que cargue los paquetes. No sé si me explico. ¿Hay alguna manera de que se registren estas clases fuera del paquete y las pueda cargar? ¿Hay alguna manera mejor de hacer esto? ¿Hay alguna manera decente de ver todas las clases que contiene un paquete y sus métodos y sus firmas sin tener que volver a meterte en todo el código de los .dcus y todo? La verdad que no lo entiendo ya que con una DLL no me pasa lo mismo. ¿Algún tutorial o manera adicional? Este caso concreto está en Delphi 5.0, aunque también me pasa lo mismo con Delphi 7.0. ¡Muchas gracias! Saludos. Última edición por ezindetgeio fecha: 11-12-2006 a las 17:28:30. |
#2
|
||||
|
||||
¿Ya registras las clases que quieres utilizar?
Prueba a utilizar el procedimiento RegisterClass en la initialization del package, y el UnRegisterClass en la finalization del package. Revisa este sencillo ejemplo, a ver si te aclara algo.
__________________
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. |
#3
|
|||
|
|||
Gracias Neftali.
El problema es en el caso de que los BPLs no sean míos y donde sospecho como bien observas que no están registradas las clases. ¿Hay alguna solución a esto? ¿O no queda más que ir a por el código y meterle el RegisterClass y el UnRegister... en initialization y finalization? Dicho esto, ¿cuál es la mejor manera aún y todo de poder "explorar" la API de clases y métodos y firmas de las mismas que te provee un BPL? Desde fuera digo. Por ejemplo supongamos que yo no trabajo en Delphi y que al otro lado lo que quiero es invocar desde Java con JNI código Delphi. Mucho me temo que me lo tendré que encapsular en una DLL... Gracias de nuevo. |
#4
|
|||
|
|||
De hecho, a veces tampoco me va ni así.
Mejor dicho, YA no me va. Adjunto un ejemplo tontísimo. Unidad que luego empaqueto (como Run-Time):
Formulario que cargaría el .bpl y lo llamaría: Me dice que no encuentra esa clase. Así que estoy en las mismas. El hecho de que haga un .exe que en los use tenga los accesos a esos .bpl que como trabajo en local tienen los .dcu y demás y sabe de qué van se me escapa a la hora de distribuir y llevarme sólo el .exe y sus bpl. ¿Cómo sabe ese .exe nada de esos .bpl si no están registrados en ninguna parte? Última edición por ezindetgeio fecha: 11-12-2006 a las 17:29:43. |
#5
|
||||
|
||||
Hola ezindetgeio! Bienvenido al club!
Te voy a dar un consejo para la redacción de los mensajes: Cuando escribas código usa la etiqueta para código de delphi y tu código se verá de la siguiente manera: Ésto hace que sea mas facil de leer e identificar. Para hacerlo solo haz lo siguiente:
|
#6
|
||||
|
||||
Apoyo lo dicho por Albano.
Sobre el problema en cuestión, haz una prueba. En el proyecto donde cargas el package (Form1), marca en las opciones del proywcto "Build with runtime packege" y prueba de nuevo.
__________________
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. |
#7
|
|||
|
|||
Hola:
Corregido lo del código. Perdón, no estoy muy habituado a foros. He probado lo que me dice Neftali (aunque en principio va un poco con la filosofía de lo que quiero hacer puesto que se supone que es desde código donde le digo que cargue el paquete). Aún así, marcando el checkbox y añadiendo el .bpl a pelo, no me funciona. Muchas gracias por la ayuda que me prestáis. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Acceso a DLL | aggg63 | Varios | 19 | 18-02-2013 19:49:54 |
Equivalencia a los bpls en .NET | poliburro | .NET | 5 | 02-10-2006 21:21:49 |
Acceso a BD | Danielle | SQL | 3 | 29-04-2006 07:40:20 |
Acceso a SP | tgsistemas | Conexión con bases de datos | 1 | 14-09-2004 17:26:34 |
Creación de BPLs y DCPs | GIVO | Varios | 1 | 19-06-2003 18:52:36 |
|