Ver Mensaje Individual
  #6  
Antiguo 07-01-2011
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 910
Reputación: 22
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Yo utilizo otra estrategia...

Código Delphi [-]
program Tu_Programa; 
            
uses         
     LoginUser;

{$R *.res}                                                                                  
Const                                                                                       
  CM_RESTORE = WM_USER + $1000;                                                             
Var                                                                                         
   AppHandle:hWnd;                                                                          
                                                                                            
begin                                                                                       
       AppHandle := FindWindow('Titulo_Formulario__Principall');
                                                                                            
     If AppHandle > 0 Then                                                                  
     Begin                                                                                  
          PostMessage(AppHandle, CM_RESTORE, 0, 0);                                         
          Exit;                                                                             
     End;                                                                                   
                                                                                            
     Application.Initialize;                                                                
     Application.Title := 'Titulo_Formulario_Principal'
                                                                                            
     Application.CreateForm(TfrmMain, frmMain);                                             
     Application.CreateForm(Tm, m);     
//Llamo a funcion Execute que esta en unidad LoginUser, la cual es la encargada de solicitar el Usuario y otros datos (Los que se te ocurran)
     if LoginUser.Execute(frmMain.Usuario) then                                                       
     Begin                                                                                  
          //Aqui  puedes programar una rutina haga algo de acuerdo a los datos ingresados Usuario.
          frmMain.Init();                                                                   
          Application.Run;                                                                  
     End                                                                                    
     else                                                                                   
     begin                                                                                  
          Application.Terminate;                                                            
     end;                                                                                   
end.

Esta es la Unit LoginUser.Pas...
Código Delphi [-]
unit LoginUser;
interface
uses                                                                                                  ...;                                                                                                          
type                                                                                                      
  TfrmLogin = Class(TForm)
    cmdLogin: TBitBtn; 
    cmdCancel: TBitBtn;
    labLogin:TLabel;    
    txtLogin: TEdit;
    labPass:TLabel;
    txtPassword: TEdit;
    procedure txtLoginExit(Sender: TObject);
    procedure txtLoginEnter(Sender: TObject);                                                             
    procedure cmdLoginClick(Sender: TObject);                                                             
    procedure txtLoginChange(Sender: TObject);                                                            
    procedure FormDestroy(Sender: TObject);                                                               
private                                                                                                 
    { Private declarations }                                                                              
     Procedure   public                                                                                                  
    { Public declarations }                                                                               
      end;                                                                                                  

function Executer(Var Usuario:String): Boolean;                                   
  
Var
frmLogin:TfrmLogin;                                                                                
implementation
Uses Main                                                                              
{$R *.dfm}     
  
function Execute(Usuario:String): Boolean;                                   
begin
     //Crea formulario de Login
     With TfrmLogin.Create(Application) Do
     Begin
          ShowModal;    
          Result:=ModalResult=mrOk;   
          if Result Then
            //Si presiona Ok...asigna el de txtLogin ingresado a la variable Usuario...
            Usuario:=txtLogin.Text;   
         Free;
    End;
End;

Ojala te aclare algo...

Saludos
Responder Con Cita