[Erro Inesperado]Erro com comparação

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Erro Inesperado]Erro com comparação

Mensagem por Luca$ em Seg 10 Out 2011, 14:21

Bom,vou pular a parte do que estou fazendo e blah blah blah,(se quiserem que eu digo eu digo)
Estou comparando algumas váriaveis com noone e está dando um erro,o erro é este:
Código:

___________________________________________
ERROR in
action number 2
of Create Event
for object obj_control:

Error in code at line 22:
      if fundo=noone
                ^
at position 15: Cannot compare arguments.
Alguem pode me explicar o porque de estar ocorrendo esse erro?

Luca$

Ranking : Nota D
Número de Mensagens : 582
Data de inscrição : 10/10/2010
Notas recebidas : D-C
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Erro Inesperado]Erro com comparação

Mensagem por MatheusReis em Seg 10 Out 2011, 14:23

Significa que o formato de dados é diferente.
Por exemplo, não se pode comparar uma string com real:
Código:
 if "Olá" = 121
Talvez um dos dois seja string e o outro é real.

MatheusReis

Ranking : Nota A
Número de Mensagens : 1087
Idade : 23
Data de inscrição : 13/01/2010
Notas recebidas : B-A-A
Reputação : 30
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 0

http://www.mathaeuz.deviantart.com

Voltar ao Topo Ir em baixo

Re: [Erro Inesperado]Erro com comparação

Mensagem por Luca$ em Seg 10 Out 2011, 14:26

Hm...
Vou tentar passar as partes do código com a variavel,axo que irão entender.
(Obs:Tudo ocorre no Create Event!!)

Código:
Primeira Parte:

fundo=ds_map_find_value(global.skin,'Fundo')

Segunda Parte:(Aonde ocorre o erro)

//Fundo
    if fundo=noone
    {
    //
    }
    else
    {
    background_replace(Design,fundo,0,0)
    }
Obs:Eu sei que eu poderia ter usado fundo!=noone,mas axei que o erro fosse o mesmo.

Luca$

Ranking : Nota D
Número de Mensagens : 582
Data de inscrição : 10/10/2010
Notas recebidas : D-C
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Erro Inesperado]Erro com comparação

Mensagem por MatheusReis em Seg 10 Out 2011, 14:32

É, fundo é uma string, aparentemente.
Substitua fundo=ds_map_find_value(global.skin,'Fundo')
por fundo=real(ds_map_find_value(global.skin,'Fundo'))

MatheusReis

Ranking : Nota A
Número de Mensagens : 1087
Idade : 23
Data de inscrição : 13/01/2010
Notas recebidas : B-A-A
Reputação : 30
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 0

http://www.mathaeuz.deviantart.com

Voltar ao Topo Ir em baixo

Re: [Erro Inesperado]Erro com comparação

Mensagem por Luca$ em Seg 10 Out 2011, 14:35

Hm...que estranho,deu um erro na funçao Real
Olha:
Código:

___________________________________________
ERROR in
action number 2
of Create Event
for object obj_control:

Error in function real().

Eu testei mais veses para ver se nao era um erro por acaso mas continuou mesma coisa.

Luca$

Ranking : Nota D
Número de Mensagens : 582
Data de inscrição : 10/10/2010
Notas recebidas : D-C
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Erro Inesperado]Erro com comparação

Mensagem por MatheusReis em Seg 10 Out 2011, 14:39

Código:
Primeira Parte:

fundo=ds_map_find_value(global.skin,'Fundo')

Segunda Parte:(Aonde ocorre o erro)

//Fundo
    if (fundo="")
    {
    //
    }
    else
    {
    background_replace(Design,fundo,0,0)
    }

MatheusReis

Ranking : Nota A
Número de Mensagens : 1087
Idade : 23
Data de inscrição : 13/01/2010
Notas recebidas : B-A-A
Reputação : 30
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 0

http://www.mathaeuz.deviantart.com

Voltar ao Topo Ir em baixo

Re: [Erro Inesperado]Erro com comparação

Mensagem por Luca$ em Seg 10 Out 2011, 14:44

Ae cara,deu certo,a unica coisa que eu tive que alterar,foi essa:
Código:

fundo=ds_map_find_value(global.skin,'Fundo')
Para...
fundo=string(ds_map_find_value(global.skin,'Fundo'))

Edit:

Cara,vou ter que te mandar o código todo,porque tudo que mecho,troca o erro.
Olha:(o código é grandinho mas é simples)
Spoiler:
Código:
//
    if file_exists('Skin.bps')
    {
    skin=file_text_open_read('Skin.bps')
    gskin_map=file_text_read_string(skin)
    global.skin=ds_map_create()
    ds_map_read(global.skin,gskin_map)
    fundo=ds_map_find_value(global.skin,'Fundo')
    novo=ds_map_find_value(global.skin,'Novo')
    PP=string(ds_map_find_value(global.skin,'Play_Pause'))
    anterior=string(ds_map_find_value(global.skin,'Anterior'))
    proximo=string(ds_map_find_value(global.skin,'Proxima'))
    volume=string(ds_map_find_value(global.skin,'Volume'))
    BarraPos=string(ds_map_find_value(global.skin,'Barra'))
    Salvar=string(ds_map_find_value(global.skin,'Salvar'))
    parar=string(ds_map_find_value(global.skin,'Parar'))
    feichar=string(ds_map_find_value(global.skin,'Feichar'))
    add=string(ds_map_find_value(global.skin,'Add'))
    del=string(ds_map_find_value(global.skin,'Del'))
    abrir=string(ds_map_find_value(global.skin,'Abrir'))
    //Fundo
    if fundo=''
    {
    //
    }
    else
    {
    background_replace(Design,fundo,0,0)
    }
    //Play-Pause
    if PP=''
    {
    //
    }
    else
    {
    sprite=spr_play_pause
    sprite_replace(spr_play_pause,PP,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    //Anterior
    if anterior!=''
    {
    sprite=spr_anterior
    sprite_replace(sprite,anterior,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    //Proximo
    if proximo!=''
    {
    sprite=spr_proxima
    sprite_replace(sprite,proximo,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    //Volume
    if volume!=''
    {
    sprite=spr_volume
    sprite_replace(sprite,volume,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    //BarraPos
    if BarraPos!=''
    {
    sprite=spr_barra
    sprite_replace(sprite,BarraPos,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    //Salvar
    if Salvar!=''
    {
    sprite=spr_playlist_save
    sprite_replace(sprite,Salvar,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    //Parar
    if parar!=''
    {
    sprite=spr_stop
    sprite_replace(sprite,parar,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    //Novo
    if novo=''
    {
    //
    }
    else
    {
    sprite=spr_playlist_new
    sprite_replace(sprite,novo,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    //Feichar
    if feichar!=''
    {
    sprite=spr_feichar
    sprite_replace(sprite,feichar,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    //Add
    if add!=''
    {
    sprite=spr_add_musica
    sprite_replace(sprite,add,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    //Del
    if del!=''
    {
    sprite=spr_del_musica
    sprite_replace(sprite,del,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    //Abrir
    if abrir!=''
    {
    sprite=spr_abrir
    sprite_replace(sprite,abrir,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    }

Luca$

Ranking : Nota D
Número de Mensagens : 582
Data de inscrição : 10/10/2010
Notas recebidas : D-C
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Erro Inesperado]Erro com comparação

Mensagem por MatheusReis em Seg 10 Out 2011, 15:25

Tente tirar os string d tudo e por os valores dentro do arquivo entre aspas. Talvez os valores dentro do arquivo estejam sendo entendidos como 'real'.
Pelo que entendi. Os valores são 'endereços' de arquivos.

MatheusReis

Ranking : Nota A
Número de Mensagens : 1087
Idade : 23
Data de inscrição : 13/01/2010
Notas recebidas : B-A-A
Reputação : 30
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 0

http://www.mathaeuz.deviantart.com

Voltar ao Topo Ir em baixo

Re: [Erro Inesperado]Erro com comparação

Mensagem por Luca$ em Seg 10 Out 2011, 15:35

Cara,retirei os "strings()".
Os valores,sao oque a função get_open_filename retorna,ou seja,ela retorna uma string,sendo assim,entre aspas(eu axo).
Mas..continua dando um erro...
(
Código:

___________________________________________
ERROR in
action number 2
of Create Event
for object obj_control:

Error in code at line 31:
      if PP=''
            ^
at position 12: Cannot compare arguments.
)

Luca$

Ranking : Nota D
Número de Mensagens : 582
Data de inscrição : 10/10/2010
Notas recebidas : D-C
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Erro Inesperado]Erro com comparação

Mensagem por Igor KinGamer em Seg 10 Out 2011, 16:42

A função ds_map_find_value retorna um número (real), então, se você está comparando os valores retornados com uma string vazia, você tem que transformá-los em strings (todos os retornados por ds_map_find_value()).

Mas, já que retorna um número e não uma string, é mais sensato você não transformar em string e fazer as comparações assim:
Código:
if (fundo != 0)
... // Ação (as chaves são desnecessárias se há apenas uma ação)
if (PP != 0)
...
if (... != 0)
...
...

Obs.: FeIchar? '-' Suponho que o que você quer dizer é fechar.

Igor KinGamer

Número de Mensagens : 890
Idade : 21
Data de inscrição : 26/09/2008
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [Erro Inesperado]Erro com comparação

Mensagem por Klior em Seg 10 Out 2011, 17:09

Opa dei uma analisada no seu código e adicionei funções show_debug_message, faça o seguinte, primeiro faça um backup do codigo atual, depois substitua por esse codigo:
Código:
//
    if file_exists('Skin.bps')
    {
    skin=file_text_open_read('Skin.bps')
    gskin_map=file_text_read_string(skin)
    global.skin=ds_map_create()
    ds_map_read(global.skin,gskin_map);
    //só para testes vamos debugar os valores dessas variaveis
    fundo=ds_map_find_value(global.skin,'Fundo')
    show_debug_message("fundo: " + string(fundo));
    novo=ds_map_find_value(global.skin,'Novo');
    show_debug_message("novo: " + string(novo));
    PP=string(ds_map_find_value(global.skin,'Play_Pause'))
    show_debug_message("pp: " + string(PP));
    anterior=string(ds_map_find_value(global.skin,'Anterior'))
    show_debug_message("anterior: " + string(anterior));
    proximo=string(ds_map_find_value(global.skin,'Proxima'))
    show_debug_message("proximo: " + string(proximo));
    volume=string(ds_map_find_value(global.skin,'Volume'))
    show_debug_message("volume: " + string(volume));
    BarraPos=string(ds_map_find_value(global.skin,'Barra'))
    show_debug_message("BarraPos: " + string(BarraPos));
    Salvar=string(ds_map_find_value(global.skin,'Salvar'))
    show_debug_message("Salvar: " + string(Salvar));
    parar=string(ds_map_find_value(global.skin,'Parar'))
    show_debug_message("parar: " + string(parar));
    feichar=string(ds_map_find_value(global.skin,'Feichar'))
    show_debug_message("feichar: " + string(feichar)); //feichar? hehe
    add=string(ds_map_find_value(global.skin,'Add'))
    show_debug_message("add: " + string(add));
    del=string(ds_map_find_value(global.skin,'Del'))
    show_debug_message("del: " + string(del));
    abrir=string(ds_map_find_value(global.skin,'Abrir'))
    show_debug_message("abrir: " + string(abrir));
    //Fundo
    if fundo=''
    {
    //
    }
    else
    {
    background_replace(Design,fundo,0,0)
    }
    //Play-Pause
    if PP=''
    {
    //
    }
    else
    {
    sprite=spr_play_pause
    sprite_replace(spr_play_pause,PP,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    //Anterior
    if anterior!=''
    {
    sprite=spr_anterior
    sprite_replace(sprite,anterior,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    //Proximo
    if proximo!=''
    {
    sprite=spr_proxima
    sprite_replace(sprite,proximo,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    //Volume
    if volume!=''
    {
    sprite=spr_volume
    sprite_replace(sprite,volume,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    //BarraPos
    if BarraPos!=''
    {
    sprite=spr_barra
    sprite_replace(sprite,BarraPos,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    //Salvar
    if Salvar!=''
    {
    sprite=spr_playlist_save
    sprite_replace(sprite,Salvar,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    //Parar
    if parar!=''
    {
    sprite=spr_stop
    sprite_replace(sprite,parar,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    //Novo
    if novo=''
    {
    //
    }
    else
    {
    sprite=spr_playlist_new
    sprite_replace(sprite,novo,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    //Feichar
    if feichar!=''
    {
    sprite=spr_feichar
    sprite_replace(sprite,feichar,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    //Add
    if add!=''
    {
    sprite=spr_add_musica
    sprite_replace(sprite,add,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    //Del
    if del!=''
    {
    sprite=spr_del_musica
    sprite_replace(sprite,del,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    //Abrir
    if abrir!=''
    {
    sprite=spr_abrir
    sprite_replace(sprite,abrir,0,0,0,sprite_get_xoffset(sprite),sprite_get_yoffset(sprite))
    }
    }
depois execute o jogo em modo debug, vai no menu Tools depois Show Message, copie tudo que estiver lá e cole aqui, caso não tenha resolvido o problema.

Klior

Número de Mensagens : 426
Idade : 25
Data de inscrição : 07/03/2010
Reputação : 13
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Erro Inesperado]Erro com comparação

Mensagem por Luca$ em Seg 10 Out 2011, 17:17

Igor:
Cara,eu axei que fosse dar certo,mas nao deu.
Olha o erro:
Código:


___________________________________________
ERROR in
action number 2
of Create Event
for object obj_control:

Error in code at line 22:
      if fundo!=0
                ^
at position 16: Cannot compare arguments.

To começando a axar que nao pode ser comparada com nada

Klior:
Cara,entendi oque você quer fazer,você quer fazer oque está retornando nao é?
Eu já havia feito isso,mas sem o show_debug_message,e sim mostrando todas as variaveis do objeto com o debug mode.
Só para responder a pergunta,está retornando 0,porque o arquivo está sem configuraçoes,porque quem vai fazer o tema será o user do programa.
Alias,da erro ao comparar fundo com '' (fundo!='')

Luca$

Ranking : Nota D
Número de Mensagens : 582
Data de inscrição : 10/10/2010
Notas recebidas : D-C
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Erro Inesperado]Erro com comparação

Mensagem por Conteúdo patrocinado Hoje à(s) 12:31


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum