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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo Hace 2 Semanas
Nano Ramírez Nano Ramírez is offline
Registrado
 
Registrado: mar 2025
Posts: 9
Poder: 0
Nano Ramírez Va por buen camino
Exportar ejecutable y bpl a máquina de usuario

Buen día. Tengo un Bpl runtime creado en Rad 10.3 y una aplicación creadaen Delphi 2010 que lo consume cuando lo necesita. Todo funciona correctamente.
Quiero pasarlo a la máquina del usuario, pero al ejecutar la aplicación me aparece "Invalid package handle". Entiendo que la aplicación no encuentra el Bpl. Dicho Bpl ya lo ubiqué en diferentes rutas en la variable de entorno Path en la máquina del usuario pero sigue apareciendo el error. Algún paso que me esté brincando?
Responder Con Cita
  #2  
Antiguo Hace 2 Semanas
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.405
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Creo que tendrás que compilarlo en esa otra versión de delphi.
Responder Con Cita
  #3  
Antiguo Hace 2 Semanas
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.874
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 Nano Ramírez Ver Mensaje
Buen día. Tengo un Bpl runtime creado en Rad 10.3 y una aplicación creadaen Delphi 2010 que lo consume cuando lo necesita. Todo funciona correctamente.
Quiero pasarlo a la máquina del usuario, pero al ejecutar la aplicación me aparece "Invalid package handle". Entiendo que la aplicación no encuentra el Bpl. Dicho Bpl ya lo ubiqué en diferentes rutas en la variable de entorno Path en la máquina del usuario pero sigue apareciendo el error. Algún paso que me esté brincando?
¿Supongo que ya lo has probado, pero lo has puesto junto al ejecutable?
También deberías ver si necesitas alguna dependencia más. Para eso puedes usar "Dependency Walker" o "PE information" de los GExperts (ya hemos hablado en alguna ocasión de ellos, aquí y aquí).
__________________
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
  #4  
Antiguo Hace 2 Semanas
Nano Ramírez Nano Ramírez is offline
Registrado
 
Registrado: mar 2025
Posts: 9
Poder: 0
Nano Ramírez Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
¿Supongo que ya lo has probado, pero lo has puesto junto al ejecutable?
También deberías ver si necesitas alguna dependencia más. Para eso puedes usar "Dependency Walker" o "PE information" de los GExperts.
Sí, ya lo intenté poniéndolo junto al ejecutable pero no funciona así en la máquina del usuario. De hecho, me estoy topando con una situación que tengo duda. Ya retiré el BPL de las rutas del library path y del search path que tiene el proyecto en la máquina donde lo estoy desarrollando y aun así me sigue cargando el BPL. No debería fallar al cargar con LoadPackage? PD; el proyecto lo tengo sin BWRP
Responder Con Cita
  #5  
Antiguo Hace 2 Semanas
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.874
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 Nano Ramírez Ver Mensaje
...Ya retiré el BPL de las rutas del library path y del search path que tiene el proyecto en la máquina donde lo estoy desarrollando y aun así me sigue cargando el BPL. No debería fallar al cargar con LoadPackage? PD; el proyecto lo tengo sin BWRP
Con LoadPackage indicas el lugar desde donde debe cargar la BPL. Si indicas el path completo, debería cargarla desde donde indicas, sino está en esa ubicación, debería fallar.
Revisa el código que usas para la carga.

Y asegurate de que no tienes dependencias en la aplicación que o estén linkando de forma estática antes de hacer el Load package.

Hay una forma fácil de comprobarlo.
1) Renombra la BPL (del path donde haces la carga con LoadPackage)
2) Ejecuta la aplicación (debería funcionar)
3) Vuelve a renombrar la BPL (del path donde hacer la carga con LoadPackage) y deja el nombre y ubicación correcta.
4) Ejecuta el código que lanza el LoadPackage => Debería cargarla sin problemas.

De esta forma te aseguras de que no está "linkada" de forma estática por dependencias y que el LoadPackage funciona correctamente.
__________________
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
  #6  
Antiguo Hace 2 Semanas
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.874
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
El código básico para cargar el package dinámicamente sería similar a este:

Código Delphi [-]
...
  _log('Cargando BPL gestión procesos...');
  ==>  Path completo. IMPORTANTE!! 
  var path:string := IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + PACKAGENAME;
  try
    HPackage := LoadPackage(path);
    // Cargado correctamente?
    if (HPackage > 0) then begin
      _log('Cargado el package ' + PACKAGENAME + ' correctamente');

      // Trabajo a realizar con la BPL
      ...

    end
    else
      _log('Error!!! No se ha encontrado ' + path);

  except
    _log('Error!!! No se ha podido cargar el paquete ' + PACKAGENAME);
  end;
...
__________________
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 Hace 2 Semanas
Nano Ramírez Nano Ramírez is offline
Registrado
 
Registrado: mar 2025
Posts: 9
Poder: 0
Nano Ramírez Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Con LoadPackage indicas el lugar desde donde debe cargar la BPL. Si indicas el path completo, debería cargarla desde donde indicas, sino está en esa ubicación, debería fallar.
Revisa el código que usas para la carga.

Y asegurate de que no tienes dependencias en la aplicación que o estén linkando de forma estática antes de hacer el Load package.

Hay una forma fácil de comprobarlo.
1) Renombra la BPL (del path donde haces la carga con LoadPackage)
2) Ejecuta la aplicación (debería funcionar)
3) Vuelve a renombrar la BPL (del path donde hacer la carga con LoadPackage) y deja el nombre y ubicación correcta.
4) Ejecuta el código que lanza el LoadPackage => Debería cargarla sin problemas.

De esta forma te aseguras de que no está "linkada" de forma estática por dependencias y que el LoadPackage funciona correctamente.

Gracias Neftali, justo ví que faltaban librerías dependientes.
Por si a alguien más le pasa, a mí me ayudó entrar a Project→Deployment para poder ver las librerías necesarias y su ubicación. Antes de mostrarlas te va a pedir compilar el proyecto en automático. Después de compilar te las mostrará
Responder Con Cita
  #8  
Antiguo Hace 1 Semana
navbuoy navbuoy is offline
Miembro
 
Registrado: mar 2024
Posts: 280
Poder: 2
navbuoy Va por buen camino
siempre que vayas a distribuir tu app tienes que mirar en deployment si, y copiar todos los BPL y archivos que necesita junto al EXE
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
Como crear un ejecutable hijo desde mi ejecutable? K04VH4CK Internet 7 14-08-2015 08:02:23
IBX ¿como asignar usuario,base de datos, nombre de usuario por codigo? JXJ Firebird e Interbase 4 09-05-2010 18:45:24
Usuario y Maquina jjorell Varios 2 24-08-2006 18:24:49
Como saber quien tiene una sesion iniciada en la maquina "\\maquina....." OSKR API de Windows 2 25-11-2005 20:20:32
Ejecutable sin instalador en cualquier maquina walterjpv Varios 3 08-07-2005 22:32:42


La franja horaria es GMT +2. Ahora son las 14:00:13.


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