tenho um Midlet onde estou tentando instanciar uma classe que eu mesmo criei, a classe possui muitos atributos byte e 4 Strings, e varias operações, na maioria de soma e subtração
quando tento rodar aparece o seguinte erro no netBeans:
Error verifying method Character ([B)V
Approximate bytecode offset 28: Inconsistent or missing stackmap at target
se quiserem que eu poste a classe eu posto, só que ela é meio grande!
vou ser mais especifico, agora que fucei melhor: existe alguns metodos que ao serem comentados consigo instanciar minha classe, um dos metodos que não deixam eu instanciar minha classe é:
private void upHP() {
if (level == 1) {
hp = Classes.LIFE_DICE[classification];
} else {
hp =
(byte) (hp + Classes.LIFE_DICE[classification] );
}
}
onde level, hp e classification são atributos privados da classe, todos do tipo byte
Classes é uma classe final com algumas constantes
se eu comento esse metodo a classe é instanciada na boa
cv1
Voce esta fazendo pre-verificacao nas classes antes de rodar?
R
Rafael_Rossignol
parece que tenho muito o que aprender!
como faço pré-verificação?
D
Dougzilla
Se vc está usando o WTK (Wireless Toolkit) basta vc clicar em “Build” que ele faz tudo pra vc.
Se vc está usando o javac mesmo, depois de compilar sua classe use o comando preverify que deverá ter alguns atributos que dependerá de como seu ambiente está configurado (Classpath, etc).
Vá na seção de artigos aqui do GUJ e dê uma olhada no artigo para iniciantes em J2ME. Se mesmo assim sua dúvida não for sanada, volte aki!
Um abraço!
R
Rafael_Rossignol
ops, então, eu não estava usando o WTK, dai comecei a usar e descobri que não havia erros (pelo menos em alguns metodos) agora os metodos que estão dando erros são esses:
só pra ser mais especifico, essa classe representa um personagem de jogo de RPG (estou fazendo um programa pra celular que calcula a ficha sozinho) então fiz esses metodos, um exporta um array de bytes pra poder salvar num recordstore e o outro constroi a partir de um array de bytes.
não sei se o metodo é o correto, usei apenas a teoria que li e minha logica
cv1
Mas, afinal, vc esta fazendo a pre-verificacao?
R
Rafael_Rossignol
agora estou sim, não estava usando o WTK
mas agora usando o WTK sim, e ele faz pré verificação!
só gostaria de saber se esses dois metodos estão feitos corretamente, se existe alguma coisa que não funciona em midlet!
cv1
O erro esta na compilacao ou na execucao? Alias, qual o erro que esses dois metodos apresentam? O mesmo da primeira msg?