• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Knitter

[RESOLVIDO] Não percebo o erro de compilador num procedimento.

1 mensagem neste tópico

Tenho o seguinte código para um procedimento:

procedure TfrmManageDB.btnInsertClassificationClick(Sender: TObject);
var
  query: String;
begin
  if editClassificationName.Text = '' then
    begin
      lblClassificationNameError.Visible := True;
      lblClassificationErrorDescription.Visible := True;
    end
  else
    begin
      query := 'INSERT INTO tbl_classificacao(nome, descricao) VALUES(''' +
        editClassificationName.Text + ''', ''' +
        memoClassificationDescription.Lines[0] + ''')';//TODO

      dbConn.adoQueryInsertions.Close;
      dbConn.adoQueryInsertions.Prepared := True;
      dbConn.adoQueryInsertions.SQL.Clear;
      dbConn.adoQueryInsertions.SQL.add(query);
      try
        dbConn.adoQueryInsertions.ExecSQL;
      except
        ShowMessage('Ocorreu um erro durante a inserção. Verifique a ligação à base de dados');
      end;
    end;
    Self.btnClearClassification(Sender); {<- linha 160, onde ocorre o erro } 
end;

No entanto obtenho sempre o erro: [Pascal Error] ManageDBForm.pas(160): E2066 Missing operator or semicolon

Eu sei que se substituir a última linha de código, Self.btnClearClassification(Sender);, por qualquer outra coisa, como ShowMessage('Teste');, o erro desaparece e o código compila, o que não estou a perceber é o que causa o erro.

Edit:

O problema estava entre a cadeira e o teclado e já está resovido. O erro ocorria porque estava a tentar "invocar" um botão em vez do método click desse  botão. Como os nomes são muito parecidos nem me apercebia.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Convidado
Este tópico está fechado a novas respostas.