Solution Knitter Posted January 7, 2007 at 05:41 PM Solution Report #75017 Posted January 7, 2007 at 05:41 PM 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.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now