PDA

Ver la Versión Completa : Problemas con paquetes


andresenlared
31-10-2007, 14:42:08
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:

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

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
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: