Fórum Criação de classe. #336030

11/01/2007

0

Qria criar uma unit q fosse ponto para msg dentro da aplicação. para passar flags de uma unit para outra ..... então a intenção seria d criar uma unit q instanciasse um objeto para toda a aplicação.

unit UMensagens;

interface
type
TMsgDoSistema=class(TObject)
constructor create;
destructor Destroy;
private
fMsgCriaOuImporta: String;
public
property MsgCriaOuImporta:String read fMsgCriaOuImporta write fMsgCriaOuImporta;
end;

var
MsgSis: TMsgDoSistema;

implementation

uses SysUtils;
{ TMsgDoSistema }

constructor TMsgDoSistema.Create;
begin
inherited Create;
end;

destructor TMsgDoSistema.Destroy;
begin
end;
end.

1º Gera um erro qdo chamo. O q ha de errado?
procedure TFCadastroDeFormMain.FormShow(Sender: TObject);
begin
MsgSis.Create;
end;

??

2º Se eu chamar do modulo principal posso ver a property dele em toda a aplicação?


Host

Host

Responder

Posts

12/01/2007

Aroldo Zanela

Colega,

Creio que sua idéia não está de acordo com as boas práticas de programação. Entretanto, para corrigir o problema atual, faça:

Unit da classe:

interface
type
TMsgDoSistema=class(TObject)
private
fMsgCriaOuImporta: String;
public
constructor create;
destructor Destroy;
property MsgCriaOuImporta:String read fMsgCriaOuImporta write fMsgCriaOuImporta;
end;

implementation

uses SysUtils;
{ TMsgDoSistema }

constructor TMsgDoSistema.Create;
begin
inherited Create;
end;

destructor TMsgDoSistema.Destroy;
begin
end;
end.


No OnShow do formulário:

var Mensagem: TMsgDoSistema;
begin
  Mensagem := TMsgDoSistema.create;

  Mensagem.MsgCriaOuImporta := ´MDA - Marrado de arame´;

  FreeAndNil(Mensagem);
end;



Responder

Gostei + 0

12/01/2007

Host

So podia ser o Zanella mesmo ... grande Zanella o q deste forum sem ti.


Responder

Gostei + 0

12/01/2007

Massuda

Não entendi o que seria essa ´unit q fosse ponto para msg dentro da aplicação´... não seria mais simples usar variáveis globais?
unit BlaBlaBla;

interface

var
  StringQueRecebeAlgo: string;

implementation

end.



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar