+12 votos
104 visitas

Ao realizar a conversão me deparei com o problema abaixo:

if not Sys.CurrentQuery.FieldByName['TABELAFILME'].IsNull

É apresentado o erro: Undeclared identifier 'IsNull' at line 287.

Qual a melhor forma de resolver?

 

por (47 pontos)
editado por | 104 visitas
Acredito que trocar para ( irá gerar erro na hora de executar.
Para responder é necessário conhecer o tipo Sys. É um IBSistema, ou um OleVariant?
Estou compilando este código. Você pode mandar umas linhas a mais acima e abaixo do erro?

2 Respostas

+3 votos
Melhor resposta

O tipo Sys é OleVariant.

O erro apresentado não foi de compilação, mas, de intelisente (sublinhando em vermelho).

O delphi infelizmente não é tão eficiente quanto o visual studio para mostrar estes erros, logo alguns deles simplesmente não fazem sentido, pois o código é compilado e gera a dll, exe.

 

 

 

por (47 pontos)
selecionada por
+3 votos

Estou supondo que a classe do seu código é uma herança de TField do Delphi.

Isto não teve alteração em XE3. A propriedade IsNull está presente, e funcinado. Não tivemos problema na conversão para XE3 no Runner. 

Segue documentação:
http://docwiki.embarcadero.com/Libraries/XE3/en/Data.DB.TField.IsNull
http://docwiki.embarcadero.com/Libraries/XE3/en/Data.DB.TField_Properties

 

por (956 pontos)
editado por
Melhores Aug 2025
  1. RheaIoi8215

    5 Pontos

  2. RositaLansel

    5 Pontos

  3. MilesWeston

    5 Pontos

  4. RoseannViera

    5 Pontos

  5. DianaNickel

    5 Pontos

  6. KandiGower0

    5 Pontos

200 pontos
Melhores 2025 Aug 18 - 24
  1. Larson

    156 Pontos

  2. danilo.pereira

    96 Pontos

  3. danilo.pereira

    96 Pontos

  4. danilo.pereira

    96 Pontos

  5. luciano.fronza

    61 Pontos

  6. luciano.fronza

    61 Pontos

  7. luciano.fronza

    61 Pontos

  8. diuari.molinari

    52 Pontos

  9. diuari.molinari

    51 Pontos

  10. diuari.molinari

    51 Pontos

517 perguntas
566 respostas
389 comentários
710 usuários