Ver Mensaje Individual
  #5  
Antiguo 10-02-2011
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.289
Reputación: 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 primero que veo es que si utilizas ShowModal, no accederás a la línea que comentas hasta que no cierres el formulario,por lo tanto en este caso debería utilizar Show.

Por otro lado, como estás accediendo al formulario de forma genérica, para acceder al label puedes utilizar FindComponent, por ejemplo.

Cambia el código por este:

Código Delphi [-]
with TComponentClass(AClass).Create(Application)
        as TCustomForm do
      begin
        Show;

        // Buscar el Label
        componentLabel := FindComponent('Label1');
        // lo ha encontrado?
        if Assigned(componentLabel) then begin
          TLabel(componentLabel).Caption := 'hola';
          MessageDlg('¿Ves el cambio?  Pulsa para continuar y cerrar...', mtConfirmation, [mbOK], 0);
          TLabel(componentLabel).Caption := 'Adiós';
          MessageDlg('Lo he vuelto a cambia......', mtConfirmation, [mbOK], 0);
          Free;
        end;
      end;

Además en el package debes registrar la clase del formulario para poder encontrarla posteriormente con GetClass.

Al final de la Unit del Form2 coloca este código:


Código Delphi [-]
initialization
  RegisterClass(TForm2);

finalization
  UnregisterClass(TForm2);

Por último asegurate de que estás compilando el proyecto con la opción "Build with runtime Packages".

Descarga este ejemplo y revisa el código, creo que te puede ser de utiidad (Sistema de plug-ins utilizando packages dinámicos).

Un saludo.
__________________
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