Ver Mensaje Individual
  #1  
Antiguo 04-01-2008
Avatar de totote
totote totote is offline
Miembro
 
Registrado: oct 2006
Posts: 150
Reputación: 18
totote Va por buen camino
Clase global en un proyecto

Buenas gente tengo una duda, tengo un proyecto, el cual tiene una clase llamada TUsuarioOnline con sus funciones y un constructor, esta clase la quiero hacer global a todo el proyecto, entonces en defino una instancia de la clase en el source del proyecto, despues intento crear el objeto desde un formulario, pero no me deja, que puedo hacer, aca les dejo el codigo de lo que hice.

Proyecto:
Código Delphi [-]
program pCorrelatividades;

uses
  Forms,
  uLogin in 'uLogin.pas' {fLogin},
  udmCorrelatividades in 'udmCorrelatividades.pas' {dmC: TDataModule},
  uCorrelatividades in 'uCorrelatividades.pas' {fCorrelatividades},
  uClases in 'uClases.pas';
{$R *.res}
var
  usuario_online: TUsuarioOnline;
begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TfCorrelatividades, fCorrelatividades);
  Application.CreateForm(TdmC, dmC);
  Application.Run;
end.

fLogin:
Código Delphi [-]
procedure TfLogin.btAceptarClick(Sender: TObject);
var
  user: string;
  Nivel: integer;
begin
if (edUser.Text <> '') and (edPass.Text <> '') then
begin
  dmC.cdsLogin.Close;
  dmC.cdsLogin.Params.ParamByName('user').AsString:= edUser.Text;
  dmC.cdsLogin.Params.ParamByName('pass').AsString:= edPass.Text;
  dmC.cdsLogin.Open;
  if dmC.cdsLogin.RecordCount > 0 then
  begin
    user:= edUser.Text;
    Nivel:= dmC.cdsLogin.FieldByName('nivel').AsInteger;
    usuario_online:= TUsuarioOnline.Create(user,Nivel); // <-- aca da error que no reconoce usuario_online
  end
  else
    messagedlg('Datos incorrectos, por favor vuelva a intentar',mtInformation,[mbOk],0);
end
else
  messagedlg('Campos incompletos',mtError,[mbOk],0);
end;


uClases:
Código Delphi [-]
unit uClases;

interface

type

  TUsuarioOnLine = class
    private
      Usuario: String;
      Nivel: integer;
    public
      constructor Create(nombre: string;Nvl: integer);
      function GetUsuario():string;
      function GetNivel():integer;
  end;

implementation

{ TUsuarioOnLine }

constructor TUsuarioOnLine.Create(nombre: string; Nvl: integer);
begin
  Usuario:= nombre;
  Nivel:= Nvl;
end;

function TUsuarioOnLine.GetNivel: integer;
begin
  result:= Nivel;
end;

function TUsuarioOnLine.GetUsuario: string;
begin
  result:= Usuario;
end;

end.

Espero que me puedan ayudar Saludos
__________________
¡Oh nooo! no compartas, compartir es pirateria, compartir te llevara a la carcel - Revolution OS
Responder Con Cita