Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-04-2019
jlrbotella jlrbotella is offline
Miembro
 
Registrado: ene 2007
Posts: 185
Poder: 18
jlrbotella Va por buen camino
Smile Cargar form desde un paquete bpl

Buenas,
He creado un paquete con un form (TmessageBox1) y lo cargo de la manera siguiente:
Código Delphi [-]
var
  FormScroll: TForm;
  FormClass: TFormClass;
  HandlePack: HModule;
begin
// try to load the package
  HandlePack := LoadPackage ('mipaquete.bpl');
  if HandlePack > 0 then
  begin
    FormClass := TFormClass(GetClass ('TMessageBox1'));
    if Assigned (FormClass) then
    begin
      FormScroll := FormClass.Create (Application);
      try
        FormScroll.ShowModal;
      finally
        FormScroll.Free;
      end;
    end
    else
      ShowMessage ('Form class not found');
    UnloadPackage (HandlePack);
  end
  else
    ShowMessage ('Package not found');
end;

El problema es que carga el paquete pero no encuentra la clase TMessageBox1, devuelve FormClass = nil.

Y el nombre de la clase esta bien.

La clase TmessageBox1 es:
Código Delphi [-]
unit ShowMessageForm;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TMessageBox1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MessageBox1: TMessageBox1;

implementation

{$R *.dfm}

procedure TMessageBox1.Button1Click(Sender: TObject);
begin
  ShowMessage('Hola');
end;

initialization
  RegisterClass(TMessageBox1);

finalization
  UnregisterClass(TMessageBox1);

end.

Gracias
Responder Con Cita
  #2  
Antiguo 02-04-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.264
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
Lo más sencillo en estos casos es que crees un pequeño proyecto con los ficheros mínimos y lo subas.
Es la manera más rápida de ver y detectar los problemas.


* Puede tener que ver con las opciones del proyecto (runtime packages)
* Puede tener que ver con RTTI
* ...
__________________
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-04-2019
jlrbotella jlrbotella is offline
Miembro
 
Registrado: ene 2007
Posts: 185
Poder: 18
jlrbotella Va por buen camino
Hola Neftali:

Tienes razón, no he mercado la opción de " Link with runtime packages" en el proyecto de VCL aplicación.

Gracias.
Responder Con Cita
  #4  
Antiguo 02-04-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.264
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
__________________
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
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 cargar qrpt70.bpl paquete desde delphi JODELSA Impresión 3 04-03-2016 09:51:55
llamar al evento click de un boton q se encuentra en un form desde otro form TURBOIGOR OOP 6 02-12-2008 14:50:16
Cerrar Paquetes cargados dinámicamente, desde el paquete. ContraVeneno Varios 4 23-07-2008 15:42:28
Como llamar form desde otros form y regresar a la linea que se estaba ejecutando Willy Rodrigo C++ Builder 1 03-08-2007 19:36:23
Cargar Imagen desde un Form secundario Bicholoco Gráficos 11 02-04-2007 17:11:51


La franja horaria es GMT +2. Ahora son las 10:59:10.


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