+11 votos
44 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 (45 pontos)
editado por | 44 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 (45 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 (917 pontos)
editado por
Melhores May 2020
  1. henrique.muller

    18 Pontos

  2. joao.melo

    14 Pontos

  3. joseglauber

    11 Pontos

  4. SlimShady

    7 Pontos

  5. willian.metalsystem

    6 Pontos

  6. lucas.melo

    3 Pontos

  7. fluipress.luciano

    2 Pontos

  8. pajucara.wallacef

    2 Pontos

  9. jean.filho

    2 Pontos

  10. maicon.pereira

    2 Pontos

200 pontos
Melhores 2020 May 25 - 31
    433 perguntas
    476 respostas
    346 comentários
    466 usuários