Realmente não fui claro...agora com mais calma vou explicar.

Vejam se existe alguma solução pra isso

Tenho um form criado em tempo de execução.

Nesse form, destruo as query’s no onClose.

No form principal, quando recebo uma mensagem de alguém no sistema, abro um
form com a mensagem.

Só que acontece o seguinte:Quando já estou com a janela aberta, e recebo
outra mensagem, abro novamente a mesma tela. Fica as duas abertas. Porém ao
fechar a primeira, tento fechar a segunda e dá o erro “Invalid pointer
Operation”. Isso porque já destruiu as querys na primeira tela que fechei. E
quando vai destruir na segunda já não existe mais para poder destruir..

 

Crio assim...

FMensagem := TFMensagem.Create(Self);

FMensagem.ShowModal;

 

Eu queria saber se tem alguma forma de criar uma nova instancia,
independente, em que eu possa destruir as query’s dela, sem afetar as outras

Aí tinha pensado numa coisa absurda, de talvez existir a possibilidade de eu
atribuir a hora, ao nome FMensagem, para poder diferenciá-lo

 

De: lista-del...@yahoogrupos.com.br [mailto:lista-del...@yahoogrupos.com.br]
Em nome de Rubem Nascimento da Rocha
Enviada em: sexta-feira, 16 de outubro de 2009 Boa tarde Dé 12:58
Para: Lista Delphi
Assunto: RE: [lista-delphi] Variavel
Prioridade: Alta

 

  


Vc está fazendo confusão! Uma hora vc fala em variável, outra hora fala em
classe! Penso que vc deve pensar em classe e instância/objeto (e não
variável!) para resolver seu problema.

Exemplo:

unit uDataHoraClasse;

interface

type
TDataHoraSistema = class
private
fDataHora: TDateTime;
function GetDataHoraAsString;
public
constructor Create; reintroduce;
property DataHora: TDateTime read fDataHora;
property AsString: string read GetDataHoraAsString;
end;

implementation

uses SysUtils;

{ TDataHoraSistema }

constructor TDataHoraSistema.Create;
begin
inherited;
fDataHora := Now();
end;

function TDataHoraSistema.GetDataHoraAsString: string;
begin
Result := FormatDateTime('dd/mm/yyyy hh:nn:ss', fDataHora)
end;

end.

Depois, é só instanciar um objeto dessa classe 'N' vezes quantas foram
necessárias para você. Mas, lembre-se de que, se vc quer manter controle das
instâncias, deve armazená-las em um repositório, tal como um objeto da
classe TList.

Boa sorte.
Sds.

P.S.: De repente, um simples TStringList para você ir adicionando a
data-hora à medida que vc necessitar não resolveria seu problema? Se não,
explique-se melhor com mais detalhes!



 



[As partes desta mensagem que não continham texto foram removidas]

Responder a