Erro estranho no Delphi
Olá boa noite a todos.
Estou trabalhando em um projeto Delphi Berlin e das duas uma ou mudou tudo ou não sei o que é esse erro:
criei um método dentro de um datamodule
Ate aqui tudo certo
no form
ao executar da um erro e por curiosidade vi que se trocar o x por datamodule.funcao funciona corretamente
Alguém sabe o porque disso ?
Estou trabalhando em um projeto Delphi Berlin e das duas uma ou mudou tudo ou não sei o que é esse erro:
criei um método dentro de um datamodule
function Tdm.finsertSql(nome, idade: string): Boolean;
begin
Result := False;
with Qry_I do
begin
close;
sql.Clear;
sql.Add('insert into tb_demo1 (nome,idade)values (:nome,:idade)');
ParamByName('nome').AsString := nome;
ParamByName('idade').AsString := idade;
ExecSQL;
Result := True;
end;
end;
Ate aqui tudo certo
no form
procedure TForm1.btnAddClick(Sender: TObject); var x: Tdm; begin x.finsertSql(edtNome.Text, edtIdade.Text); end;
ao executar da um erro e por curiosidade vi que se trocar o x por datamodule.funcao funciona corretamente
Alguém sabe o porque disso ?
Carlos Faria
Curtidas 0
Melhor post
Raimundo Pereira
06/08/2016
x: Tdm;
begin
Application.CreateForm(Tdm, x);
x.finsertSql(edtNome.Text, edtIdade.Text);
end;
begin
Application.CreateForm(Tdm, x);
x.finsertSql(edtNome.Text, edtIdade.Text);
end;
GOSTEI 1
Mais Respostas
Carlos Faria
05/08/2016
Não entendi o X ? se ela já representa a class vou criala 2x ?
GOSTEI 0
William
05/08/2016
O colega P2 está sugerindo que você instancie um objeto Tdm!
Porém acredito que você já esteja referenciando o DataModule na sua cláusula USES desse "Form1" então não precisa dessa variável "x", basta chamar pelo name do DataModule.
Porém acredito que você já esteja referenciando o DataModule na sua cláusula USES desse "Form1" então não precisa dessa variável "x", basta chamar pelo name do DataModule.
GOSTEI 0
Carlos Faria
05/08/2016
Foi exatamente isso que eu fiz , dei uses no datamodule e mesmo assim da esse erro , no delphi 2010 roda beleza mas aqui no xe8 piratinha .... aparece esse erro estranho compila mas na execução da um acess violation
GOSTEI 0