Usando o propriedade TAG do form
Eu gostaria de saber como faço para usar a propriedade TAG do form para passar um array, visto que ja consegui passar objetos mais complexos como classes.
Obrigado.
Obrigado.
Luiz Benevenuto
Curtidas 0
Respostas
Rogerio
09/03/2010
Ola Luiz, seja muito bem-vindo ao fórum!
Sobre a sua dúvida, que eu saiba a propriedade Tag do form é do tipo integer, ou seja, aceita valores inteiro. Desconheço outra forma.
Mas vamos ver o que os colegas do fórum tem a dizer, posso estar enganado.
GOSTEI 0
Wilson Junior
09/03/2010
Caro Luiz,
É impossível passar um array para uma propriedade do tipo inteiro.
Espero ter colaborado.
É impossível passar um array para uma propriedade do tipo inteiro.
Espero ter colaborado.
GOSTEI 0
Thiago Santana
09/03/2010
Luiz assim como os colegas falaram é impossível passar um array para a propriedade TAG do Form, pois ela é do tipo inteiro!
Mas qual seria seu próposito em passar este array para a TAG?
Quem sabe podemos te ajudar a solucionar seu problema de um jeito diferente...
AbraçoO
Mas qual seria seu próposito em passar este array para a TAG?
Quem sabe podemos te ajudar a solucionar seu problema de um jeito diferente...
AbraçoO
GOSTEI 0
Luiz Benevenuto
09/03/2010
Por ser um inteiro eu posso virtualmente passar qq coisa para a propriedade TAG.
Se vc tem uma rotina genérica de criação de forms como :
procedure TProcSavt.CriarFormularioModal(NomeFormulario: String;Tag:integer = 0);
var
Formulario: TForm;
TFormulario: TFormClass;
begin
TFormulario := TFormClass(GetClass('T' + NomeFormulario));
if Assigned(TFormulario) then
begin
Formulario := TFormulario.Create(nil);
try
Formulario.Tag:=Tag;
Formulario.ShowModal;
finally
Formulario.Release;
end;
end
else
ShowMessage('A classe T' + NomeFormulario + ' ainda não foi registrada.');
end;
Mas e se vc quiser passar alguma informação para o novo form da pra usar a TAG. Funciona com tudo só não esou conseguindo passar um Array do tipo
var
VarArray: Variant;
begin
VarArray := varArrayCreate([0,2], varVariant);
...
NovoFormulario.Tag := Integer(VarArray); // Essa instrução funciona para qq outra coisa.
Um abraço a todos.
Luiz
Se vc tem uma rotina genérica de criação de forms como :
procedure TProcSavt.CriarFormularioModal(NomeFormulario: String;Tag:integer = 0);
var
Formulario: TForm;
TFormulario: TFormClass;
begin
TFormulario := TFormClass(GetClass('T' + NomeFormulario));
if Assigned(TFormulario) then
begin
Formulario := TFormulario.Create(nil);
try
Formulario.Tag:=Tag;
Formulario.ShowModal;
finally
Formulario.Release;
end;
end
else
ShowMessage('A classe T' + NomeFormulario + ' ainda não foi registrada.');
end;
Mas e se vc quiser passar alguma informação para o novo form da pra usar a TAG. Funciona com tudo só não esou conseguindo passar um Array do tipo
var
VarArray: Variant;
begin
VarArray := varArrayCreate([0,2], varVariant);
...
NovoFormulario.Tag := Integer(VarArray); // Essa instrução funciona para qq outra coisa.
Um abraço a todos.
Luiz
GOSTEI 0
Luiz Benevenuto
09/03/2010
Ninguem ????
GOSTEI 0
Marcos Iwazaki
09/03/2010
Vc disse que conseguiu passar objetos mais complexo na tag?
Bom... na minha opnião so da p passar números inteiros e nada mais.
Outra coisa para mim tag = gambi.
Se vc tem algo p passar para um form crie uma variavel nestes form.. no caso pode-se criar no form pai, e tbm criar métodos get e set para acessar esta variavel.
flw
Bom... na minha opnião so da p passar números inteiros e nada mais.
Outra coisa para mim tag = gambi.
Se vc tem algo p passar para um form crie uma variavel nestes form.. no caso pode-se criar no form pai, e tbm criar métodos get e set para acessar esta variavel.
flw
Eu gostaria de saber como faço para usar a propriedade TAG do form para passar um array, visto que ja consegui passar objetos mais complexos como classes.
Obrigado.
Obrigado.
GOSTEI 0
Wilson Junior
09/03/2010
Olha, fiquei muito curioso com esta história de que você já conseguiu passar "Classes" para o campo TAG, pois como já disse, isto "NO EXISTS". Portanto, coloque o exemplo que você utilizou para passar as classes para a propriedade TAG.
GOSTEI 0
Luiz Benevenuto
09/03/2010
Estou mandando um exemplo com a passagem de um TStrings e de uma Classe.
Um abraço.
Arquivo:
http://www.siffra.com.br/luiz/delphi/Teste_TAG.7z
Um abraço.
Arquivo:
http://www.siffra.com.br/luiz/delphi/Teste_TAG.7z
GOSTEI 0
Wilson Junior
09/03/2010
Mas você utiliza o endereço de memória do objeto e não o objeto em si. Desta forma sim é possível utilizar pela tag.
Vou analisar e depois respondo.
Vou analisar e depois respondo.
GOSTEI 0