Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problemas con paquetes (https://www.clubdelphi.com/foros/showthread.php?t=49830)

andresenlared 31-10-2007 14:42:08

Problemas con paquetes
 
Hola a todos.
Tengo un problema al ejecutar el exe y cargar dinamicamente el bpl. Les cuento que tengo hasta el momento.

1. adicione al paquete los formularios que necesito esten juntos por el proceso que se desarrolla.
2. Tenia un problema con los Txtradev, en donde me informava que: Unit TXtraDev was compiled with a different version of ppFilDev.TppFileDevice. para este error, cargue el paquete Txtradev, y modifique lo siguiente: {$IMPLICITBUILD OFF}. compile el paquete y el error desaparece.
3. En el proyecto principal para cargar el paquete tengo lo siguiente:
Código Delphi [-]
procedure TfrmPrincipal.A_Reporte1Execute(Sender: TObject);
var
  PackageModule: HModule;
  repnov: Tform;
  formClass: TformClass;
begin
 MessageDlg(' Asegurese que no se estén ingresando novedades,durante la ejecución '+#13+#10+'de este proceso', mtWarning, [mbOK], 0);
 //************
 PackageModule := LoadPackage('D:\desarrollo\seguro\Version 2007\Seguro\bpl2\package1.bpl');
  if PackageModule <> 0 then
  begin
    formclass:=Tformclass(getclass('TFrmRepNov'));
    if Assigned(formclass) then
      begin
        repnov:=formClass.Create(Application);
            try
             SetPropValue(repnov,'Ttransaccion',DmSeguro.Seguro_T.Name);
             SetPropValue(repnov,'Tbase',DmSeguro.Seguro.Name);
             SetPropValue(repnov,'Fecha_T',fecha_trabajo);
             SetPropValue(repnov,'inicializar',True);
             repnov.ShowModal;
            finally
              repnov.Free;
         end;
      end
    else
      ShowMessage('Formulario no Existe');
     UnloadPackage(packagemodule);
     end
   else
      ShowMessage('Paquete no encontrato...');
 //************
4. Registro el formulario(TFrmRepNov) en el paquete
Código Delphi [-]
initialization
  registerclass(TFrmRepNov);
Finalization
  unregisterclass(TFrmRepNov);
Lo anterior lo pongo al final del formulario.


5. para el proyecto principal en las propiedades, habilito Rumtime packages.

6. los formularios que estan en el paquete no estan en el proyecto principal.

7. cuando compilo el proyecto, me aparece el siguiente error, y se produce en la linea:

PackageModule := LoadPackage('D:\desarrollo\seguro\Version 2007\Seguro\bpl2\package1.bpl');

El error dice: A class tppToolbar already exists.

cualquien idea que tengan para revisar, muchas gracias.
Uso firebird y delphi 7
:confused:

Neftali [Germán.Estévez] 31-10-2007 17:17:12

Cita:

Empezado por andresenlared (Mensaje 242603)
El error dice: A class tppToolbar already exists.

Es como si esa clase se estubiera intentando registrar más de una vez.
Elimina todas las DCUs/DCP/BPL correspondientes al package, muevelo a otra ubicación y vuelve a compilar el proyecto, para descartar que sea algo relacionado con el package.

andresenlared 31-10-2007 20:13:01

Gracias por tu ayuda, pero ya hice lo que propones y el error continua :confused:


La franja horaria es GMT +2. Ahora son las 22:13:41.

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