Senhores,
fiz os testes e ainda não consegui fazer a coisa funcionar. :-(
Oque acontece é o seguinte, tenho um arquivo que define a minha barra de menu
(b_menuprinc.mxml) e outro que é um canvas(b_canvascli.mxml). Oque o sistema
deve fazer é, no click na opção do menu, alterar a propriedade visible do
canvas. Além desses dois ainda tenho um arquivo principal(main.mxml) onde eu
chamo os componentes e um script (b_interface.as) que é o script que fará a
alteração da propriedade. Se incluo o o arquivo de script no arquivo
b_menuprinc.xml ele diz que não reconhece a function definida no Click do menu.
Se eu insiro o script direto no arquivo b_menuprinc.mxml, ele reconheçe a
função mas acontece aquele velho problema da ID do canvas (ele não sabe quem
é). Alguém pode dar uma mão? É que eu to aprendendo... hehe
Obrigado!
--
Giancarlo Faccio Hammes
Analista de T.I
Setor de Tecnologia da Informação
Unimed Extremo Oeste Catarinense
email: [EMAIL PROTECTED]
msn: [EMAIL PROTECTED]
skype: nefariun_ec
(49) 36312204
(49) 88012357 (Celular TI)
----- Original Message -----
From: André Gil
To: [email protected]
Sent: Thursday, February 01, 2007 1:29 PM
Subject: [flexdev] Re: Componentes
Depende muito do componente que você estiver fazendo. Se você for manipular
ele, faça o script fora mesmo. Mas se você precisar que ele tenha algum método
que vai sempre ser chamado de fora, por exemplo, vai precisar criar o script
dentro dele como Public. E lá dentro, só o this para acessar as propriedades
dele mesmo.
No Flex, tudo são componentes. Não sei se você já segurou o CTRL e clicou em
algum componente do Flex no Flex Builder, ele te leva direto para o código do
componente. Lá eles nunca usam o ID. O ID você passa quando vai usar o
componente, na criação de uma instância dele.
[]'s
On 2/1/07, Giancarlo Faccio Hammes <[EMAIL PROTECTED]> wrote:
Bom, colocar um script dentro do componente era oque eu estava tentando
evitar mas como não tem outro jeito.
Deve haver um bom motivo pra não ser permitido dar uma id para a tag
principal.
Eu vou testar então mas.. será que se eu der um include no componente de um
arquivo de script ele vai entender o this? hehe
agradeço a atenção de todos...
mais uma dúvida solucionada...
:-D
--
Giancarlo Faccio Hammes
Analista de T.I
Setor de Tecnologia da Informação
Unimed Extremo Oeste Catarinense
email: [EMAIL PROTECTED]
msn: [EMAIL PROTECTED]
skype: nefariun_ec
(49) 36312204
(49) 88012357 (Celular TI)
----- Original Message -----
From: André Gil
To: [email protected]
Sent: Thursday, February 01, 2007 10:30 AM
Subject: [flexdev] Re: Componentes
Giancarlo,
Então, eu tinha dito que você pode usar o ID na hora de chamar o
componente, como o Fábio disse, mas isso só vai ajudar se você tiver um Script
na aplicação e quiser manipular o componente. Por exemplo:
<mx:application>
<mx:script>
private function teste():void{
myComponent.width = 100;
}
</mx:script>
<c1:componente id="myComponent" />
</mx:application>
Mas se você precisar criar o <script> dentro do componente, você pode
usar assim:
<mx:script>
private function teste():void{
this.width = 100;
}
<mx:script>
Os exemplos devem estar errados, mas foi só pra mostrar a idéia, hehehe.
[]'s
André Gil
On 2/1/07, João Fernandes < [EMAIL PROTECTED]> wrote:
Giancarlo,
Como já foi explicado, pode usar this para referênciar o componente em
questão.
Se usar
<mx:Canvas xmlns:mx="blablablala" >
<mx:Script>
Function minhafuncao():void{
this.width = this.width + 30;
}
</mxScript>
</mx:Canvas>
O que vai fazer é quando chamar a função minhafuncao, o seu componente
vai aumentar de 30 pixeis em largura. O scope this referece sempre ao
componente externo onde se está a executar o código. Não precisa de dar um id
ao seu componente, aliás, não consegue mesmo.
João Fernandes
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of
Giancarlo Faccio Hammes
Sent: quinta-feira, 1 de Fevereiro de 2007 11:46
To: [email protected]
Subject: [flexdev] Re: Componentes
Desculpe André, mas não entendi direito.
Na verdade o problema ocorre não no Action Script e sim na hora de
compilar o projeto do componente. O Flex apresenta uma crítica ao código do
componente onde diz que não se pode dar uma id para a tag principal. Por
exemplo:
quando crio um componente baseado em Canvas e coloco uma id para essa
tag:
<mx:canvas id="canvasteste">
ele me diz que não é possivel definir uma id para a tag root do
componente.
então não sei como manipular uma propriedade de canvas através de
action script sem poder dar um nome a ele. posso fazer uma gambiarra....
<mx:canvas>
<mx:canvas id="canvasteste">
</mx:canvas>
</mx:canvas.
mas isso é uma engenbração muito da ordinária...
:-D
--
Giancarlo Faccio Hammes
Analista de T.I
Setor de Tecnologia da Informação
Unimed Extremo Oeste Catarinense
email: [EMAIL PROTECTED]
msn: [EMAIL PROTECTED]
skype: nefariun_ec
(49) 36312204
(49) 88012357 (Celular TI)
----- Original Message -----
From: André Gil
To: [email protected]
Sent: Thursday, February 01, 2007 9:30 AM
Subject: [flexdev] Re: Componentes
Oi Giancarlo,
Se eu entendi bem o seu problema, é no Action Script do componente
que você não sabe como chamá-lo?
Se for isso, basta você usar assim:
this.propriedade = valor;
Você não pode definir mesmo uma ID no componente, só na utilização
dele. Mas o "this" retorna o componente, não importando qual ID ele tenha.
[]'s
André Gil.
On 2/1/07, Daniel Schmitz <[EMAIL PROTECTED]> wrote:
Tente usar ParentApplication
On 2/1/07, Giancarlo Faccio Hammes < [EMAIL PROTECTED]> wrote:
>
>
> Bom dia Senhores,
> estou separando meus pojetos em componentes e adicionando-os ao meu
mxml
> principal através de mxmlns. Porém, o compilador me avisa que não
posso
> definir uma id pra tag root dos meus componentes. Então como posso
> manipula-los através de scripts sendo que não posso chama-los?
Estou fazendo
> a coisa certa? Existe outra forma de organizar meu mxml em outros
arquivos e
> fazer "includes" no main?
> Agradeço a atenção de todos.
>
>
>
> --
> Giancarlo Faccio Hammes
> Analista de T.I
> Setor de Tecnologia da Informação
> Unimed Extremo Oeste Catarinense
> email: [EMAIL PROTECTED]
> msn: [EMAIL PROTECTED]
> skype: nefariun_ec
> (49) 36312204
> (49) 88012357 (Celular TI)
> >
>
<BR<BR
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---