+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
    200 pontos
    Melhores 2025 Jul 28 - Aug 03
    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
    704 usuários