Prezados,
Estou com um terrivel problema!..pelo menos eu acho que é Terrivel!
Estou desenvolvendo uma aplicação em J2ME utilizando o celular Nokia 6600, e está ocorrendo um erro que não é erro, vamos ver se vocês conseguirão me entender:
Tenho um Form que possui uma Command que transmite os dados que estão no RMS:(Desculpe pelos codigos caso queira-os inteiros, é só falar)
Fonte Classe MnTotal (Chamador):
...
else if(c == cmdTrans){
MnTransmite mnTrans = new MnTransmite(tela, this, lecMain.getArqNome());
}
...
public void showTotalAlert(String textoAlert){
atualizaTotalizadores();
alertIda.setString(textoAlert);
tela.setCurrent(alertIda,frTot);
}
...
private void atualizaTotalizadores(){
rsDataIn = new DbRms("db_DataIn");
rsDataOut = new DbRms("db_DataOut");
rsControl = new DbRms("db_Tot");
/*Indice rsControl
* 1 - Total
* 2 - Enviadas
* 3 - Leit. Pendentes
* 4 - Leit. Realizadas
* 5 - Conf. Pendentes
* 6 - Conf. Realizadas
* 7 - Leiturista
* 8 - Data
*/
String aux = "";
if(rsControl.readRecords(1).equals("0")){
for (int i = 1; i <= rsDataIn.getNumRecords(); i++) {
aux = rsDataIn.readRecords(i);
if(aux.length()==184){
if(aux.charAt(182)=='C')
realiC++;
else if(aux.charAt(182)=='L')
realiL++;
}else{
if(aux.charAt(182)=='C')
pendC++;
else if(aux.charAt(182)=='L')
pendL++;
}
}
rsControl.updateRecord(Integer.toString(pendL),3);
rsControl.updateRecord(Integer.toString(realiL),4);
rsControl.updateRecord(Integer.toString(pendC),5);
rsControl.updateRecord(Integer.toString(realiC),6);
}
total = rsDataIn.getNumRecords();
rsControl.updateRecord(Integer.toString(total),1);
realiL = Integer.parseInt(rsControl.readRecords(4));
realiC = Integer.parseInt(rsControl.readRecords(6));
totGeral.setText(rsControl.readRecords(1));
totEnv.setText(rsControl.readRecords(2));
totPend.setText(rsControl.readRecords(3));
totRea.setText(rsControl.readRecords(4));
totConfPend.setText(rsControl.readRecords(5));
totConfRea.setText(rsControl.readRecords(6));
rsDataIn.closeRecStore();
rsDataOut.closeRecStore();
rsControl.closeRecStore();
}
...
Fonte Classe MnTransmite:
...
public void commandAction(Command c, Displayable d) {
// TODO Auto-generated method stub
if(c == cmdSim){
if(realiL+realiC>env){
TrataDados trata = new TrataDados("db_DataOut");
switch (trata.transmite(arquiNome)) {
case 0:
envAux += trata.getEnviada();
rsControl.openRecStore();
env += envAux;
envAux = 0;
rsControl.updateRecord(Integer.toString(env),2);
rsControl.closeRecStore();
mnTotal.showTotalAlert(Integer.toString(trata.getEnviada())+" Leitura(s) enviada(s) com Sucesso!");
break;
case 1:
mnTotal.showTotalAlert("Não Ha Conexao, Tente mais Tarde");
break;
case 2:
mnTotal.showTotalAlert("Error, ao transmitir a leitura." );
break;
default:
break;
}
}else{
mnTotal.showTotalAlert("Não há leitura(s) pendente(s) a ser(em) enviadas.");
}
}else if(c == cmdVoltar)
mnTotal.showTotal();
}
...
Aparentemente parece que nao tem nenhum erro, eu tb acho! Funciona perfeitamente no WTK, mas quando passo para o DEVICE ele quando ele executa o “mnTotal.showTotalAlert()” ele faz o setCurrent e muda o nome do Form, os Commands, mas nao muda o corpo do Form.
Alguem sabe o que pode ser isso??? Por Favor! É URGENTE!
um grande abraço!
André Luiz Vilardo.
[color=“red”]* Editado - use a tag Code em seus códigos[/color]