Fórum Erro estranho no Delphi #559946

05/08/2016

0

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

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

Carlos Faria

Responder

Post mais votado

06/08/2016

x: Tdm;

begin
Application.CreateForm(Tdm, x);
x.finsertSql(edtNome.Text, edtIdade.Text);

end;

Raimundo Pereira

Raimundo Pereira
Responder

Gostei + 1

Mais Posts

09/08/2016

Carlos Faria

Não entendi o X ? se ela já representa a class vou criala 2x ?
Responder

Gostei + 0

09/08/2016

William

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.
Responder

Gostei + 0

10/08/2016

Carlos Faria

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
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar