O tutorial que estou a escrever, sofreu algumas alterações, bem como correcções linguísticas e alguns erros detectados foram corrigidos. Apenas actualizei o pdf “Flex Book”.
- O index foi alterado, bem com alguns pedaços de código que não estavam devidamente formatados com a sintaxe original do flex (principalmente a parte I).
-Foi alterado o tipo de letra para uniformizar o documento, e adicionados alguns pontos novos, tais como a separação por tópicos colocada em relevo, para serem mais faceis de identificar.
-Foi adicionada a parte IV do tutorial.
-Foram adicionados algumas entradas no index que ficam para fazer nas próximas edições
-O número de páginas foi actualizado, contando agora com 46 paginas.
Vou alterar o método de distribuição dos pdf’s na próxima edição, esta e as próximas versões em pdf encontra-se debaixo da licença creative commons:
Atribuição-Uso Não-Comercial-Vedada a Criação de Obras Derivadas 3.0 Unported
Pelo que podem continuar a ler, distribuir, imprimir, etc.. Quase nada mudou (mas leiam os termos no link em cima), apenas é pedido a quem distribuia este “book” que inclua o nome do seu autor (Mário Santos, eu!
) bem como o site ( www.msdevtudio.com ), acho que não é pedir muito, ou é? :p
Podem ver a versão online disponibilizada nas publicações issuu.com. (Flash)
Download Flex Book Part 1, 2, 3, 4
Continuo à procura de alguém que esteja interessado em fazer a revisão, apenas que faça uma leitura mais atenta à procura de erros, bem como a testar o código todo descrito neste mesmo tutorial. A pessoa que proceder a esta revisão será devidamente identificada no tutorial. Se alguém estiver interessado informe.
Alguma critica, sugestão e/ou comentário será bem vindo.
Se alguém estiver interessado em suportar algum do meu trabalho, sinta-se à vontade para fazer uma contribuição, usando o paypal, clicando no botão payPal no topo à direita.
Abraços.










25 Comentários
Bicho ..maravilhoso seu tutorial ! … to fazendo tudo passo a passo e tem algumas coisas na tradução (ou escrita não sei bem se está em PT_BR ou PT) e se for BR posso colaborar revisando mas o meu problema é na execução onde na página 27:
[Bindable]
public var …….
Aparece um warning:
1084:var’dadosDataGrid’ will be scoped to the default namespace:olaMundo:internal. It will not be visible outside of this page.
Não sei o que fiz de errado. Estou usando o Adobe Flex buider 3 (não sei se é versão diferente)
Um abraço
Boas villas..
A linguagem é portugues PT, mas se voce seguir o tutorial, e como toda a gente, e for reportando esses possiveis pequenos erros, já ajuda em muito.
Quanto à sua duvida, voce deve estar a declarar a variavel dentro de uma funçao…verifique se não é isso…
Tem que ser declarada (variavel global) normalmente no topo do documento! a seguir aos imports e fora de qualquer funçao.
Seria isso?
Mário já resolvi o ocorrido e confesso que não imagino o que poderia ser, talvez o cache do builder.
Vou continuar o tutorial. Com relação a correção da lingua acho pouco prudente pois tem algumas diferenças embora sejam PT hehe !
Grande abraço
Estranho villas, mas normalmente esse erro seria devido à declaração da variavél dentro de uma função… mas como o flex builder às vezes também dispara uns bytes, poderia ser mesmo da cache… rsrsrs
Quanto ao tutorial, realmente a nivél de lingua, é um pouco dificil já que as linguas realmente são mesmo um bocado diferentes… mas se encontrar mais algum erro me fala!!
Assim posso contar com um bocadinho da ajuda de todos
Abraço.
Mário acho seria adequado te mandar algumas correções por email. Agora estou travado no tutorial talvez seja por uma delas e não consigo fazer o loading sumir após o carregamento(na página 39)
1046: Type was not found or was not a compile-time constant: ModuleEvent. olaMundo mainScript.as line 96
Opa .. revisei o código e consegui. Sumiu o erro. Eu simplesmente apaguei a function e reescrevi dando espaço e aguardando a sugestão do builder que não tinha aparecid anteriormente.
Então pode ter sido erro na digitação pois não estou fazendo copy/paste para aprender.
Um abraço e fico no aguardo do teu email
o meu é villas2terra.com.br
Enviei um email para voce agora…
As vezes esses erros podem acontecer mesmo por distração… ainda bem que solucionou.
Faz muito bem não fazer copy/paste, já que assim aprende mesmo!!
Um abraço.
Mário não recebi o email
tenta o edu(arroba)villasweb.com por favor que pelo terra não veio.
Mário só agora que eu li direito e vi o:
Boas Villas … e achei interessante pois meu nome é Villas Boas hehehe ..
bom sobre o tutorial empaquei na página 41 e não consigo descobrir o erro que aparece no flex:
1195: Attempted access of inaccessible method defineUser through a reference with static type modLogin. olaMundo mainScript.as line 104
Não consigo descobrir o que fiz de errado. será que você por acaso desconfia?
Abraço
Eduardo Villas Boas
Detalhes sobre o erro:
O botão Define User não aparece na renderização
Villas, me mostra a sua linha 104. E entretanto verifique se tem a função defineUser bem feita no modLogin..
Esse erro está a dizer que é impossivél aceder ao método defineUser()…
nao sei se vai aparecer o código
no arquivo mainScript.as
private function define():void{
if((loader.getChildren()).length>0)
(loader.child as modLogin).
inputUser(”TESTANDO”);
else Alert.show(”Modulo ainda Não carregado”);
}
No modLogin.mxml
Bom, já recebi o seu email e vi que ficou resolvido esse problema, que pelo que parece talvez fosse por ter o inputUser(”TESTANDO”); na linha de baixo. deve estar tudo na mesma linha:
(loader.child as modLogin).inputUser(”TESTANDO”);
Mário terminei o tutorial as mil maravilhas. Agora refazer tudo do zero do zero e adequar as minhas aplicações principalmente a comunicação com o php.
Que tal na parte 5 uma grid com inserir, editar, deletar etc ??
Parabéns
Ainda bem Eduardo.
Quanto à parte 5 ainda está no forno… ando sem muito tempo.. mas vamos a ver se lá para o meio do mês estará terminada…
Quanto ao datagrid, existe aqui no blog um exemplo que pode dar uma olhada:
http://msdevstudio.com/blog/2008/03/25/flex-datagrid-operaes-no-dataprovider/
Utiliza um dataprovider criado na aplicação, mas já pode ver como funciona as operações CRUD nos dataProviders.
Abraço e obrigado pelos “erros” detectados!
Fiquei com uma dúvida aqui olhando o book online.
Exemplo:
Por que as vezes um objeto do tipo Panel é instanciado
com parenteses e as vezes sem parenteses:
var painel2:Panel = new Panel();
var novo:Panel = new Panel;
Há alguma diferença?
Encontrei também no book online alguns erros de português.
Na realidade essas declarações funcionam praticamente da mesma maneira, declaram uma nova instancia do painel. O que significa que na pratica resulta na mesma coisa, têm como por exemplo usar ou não usar o ponto-e-virgula ; no final de cada linha, se usar funciona, se não usar, funciona na mesma…
Quanto aos erros de português, penso que teria corrigido praticamente todos, mas caso tenha encontrado algum informe.
p.s. Note que é Português de Portugal
Um abraço.
Tranquei na sessão 7.4, em dois momentos, no primeiro, envolvendo as páginas 38-39, no trecho:
private function carregaModulo():void{
loader.url=”modLogin.swf”;
loader.loadModule();
loaderBar.source=loader;
}
Cita o erro “1020: access of undefined property loader.” nas três linhas de ‘loader’, e outro específico para a linha com o ‘loaderBar’.
Sem achar o erro (e inclusive usando copiar/colar para ver se eu achava onde errei, caso fosse digitação), tentei ignorar, e seguindo com os exemplos, de acordo com as páginas 39-40:
O erro das três linhas some com o acréscimo da função seguinte, mas então nesta função surge o erro “1046: Type was not found or was not a compile-time constant: ModuleEvent.”, resource “mainScript.as”, path “olaMundo/src”, e o erro é citado duas vezes, referindo a linha “private function loadTerminado(event:ModuleEvent):void {”.
(a ProgressBar não some; o botão “Define User” não aparece)
Tive esperança de entender pelo problema que talvez fosse o mesmo do Villas, mas passei a tarde inteira passando a limpo (e inclusive copiando e colando) sem entender onde é que eu estou errando.
Uma luz?
Obrigado.
P.S. Na primeira versão do capítulo 4, havia dois pontos de referência sobre popUpManager.createPopUp, que nunca foram citados antes, então eu subentendi que era uma confusão com o “centerPopUp” da página anterior. Funcionou. Na revisão, de fato, o primeiro foi substituído por “centerPopUp”, ao invés de “createPopUp”, mas o segundo (na parte inferior da página), permanece como “create”, ao invés de “center”.
Bom dia Renan.
Dá erro nesse loader, e o erro indica que não é possivel aceder ao loader, ou seja, o loader ou não têm o id=”loader” ou o loader não foi iniciado (sinal que podes ter a função colocada no ficheiro errado…)
o erro do module event dá-se porque copiaste o código do book…
mete junto dos imports:
import mx.events.ModuleEvent;
e deve resolver.
Não copies o código, faz sempre de novo, porque existem certos imports que são inseridos automaticamente ao escrever e não aparecem se copiares…
se não conseguires resolver coloca uma duvida com o código todo em http://forum.msdevstudio.com assim lá é mais facil de eu ver o código e de tirar a duvida.
Abraço.
Eu ainda não li por completo este tutorial, mas olhando por cima já gostei muito. Parabéns pela vontade de ensinar
Obrigado Cristiano… quando terminar fala o que achou e deixe a sua opinião, critica ou sugestão!
Abraço.
Soh uma correção, lah na pagina 27 para a criação dos dados dentro do Datagrid, o nome dos campos do dataField esta como col1, col2 e col3. Diferente do nome dos campos que esta lah no action script na criação da array que esta com: campo1, campo2 e campo3. Para funcionar nos meus testes, tanto o nome do campo dentro da array via action script e o nome lah nos campos do dataGrid do mxml tiveram q ser iguais para funcionar. blzz?? Vlw!
É isso aí Cristiano, valeu pela nota.
Os dataField’s da datagrid têm que ser iguais aos campos do dataProvider.
Obrigado pela correção, qualquer outro erro avise!
Abraço!
Nossa, realmente um tutorial excelente! Acabei de ter o meu primeiro contato com o Flex e acredito q já aprendi muito! Quando saíra uma nova parte? Estou anciosa para aprofundar os meus conhecimentos!
Abraços e parabéns pela dedicação!
Cara,
arabéns pelo tutorial. Está excelente! Muito claro e objetivo, e bem completo até!
Abs.