+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 (961 pontos)
editado por
Melhores Apr 2026
  1. CeceliaWysel

    5 Pontos

  2. VernonSchaw

    5 Pontos

  3. MargieOsterh

    5 Pontos

200 pontos
Melhores 2026 Apr 06 - 12
  1. danilo.pereira

    96 Pontos

  2. danilo.pereira

    96 Pontos

  3. danilo.pereira

    96 Pontos

  4. willian.metalsystem

    69 Pontos

  5. henrique.muller

    62 Pontos

  6. luciano.fronza

    61 Pontos

  7. luciano.fronza

    61 Pontos

  8. luciano.fronza

    61 Pontos

  9. diuari.molinari

    52 Pontos

  10. diuari.molinari

    51 Pontos

518 perguntas
567 respostas
389 comentários
772 usuários