Fórum Erro Invalid pointer operation ao criar data module #553661
10/05/2016
0
A aplicação que chama afunção da dll tb é feita em delphi 2010. Pesquisei bastante no google, mas nunca vi dar esse erro ao criar um data module, geralmente o pessoal encontra esse erro ao dar um .free ou ao sair da aplicação, mas no meu caso é ao CRIAR data module.
As mensagens não são sempre iguais, isso que me intriga:
- invalid pointer operation, OU
- error reading sqlTable1FIELD1.FieldName: invalid pointer operation, OU
- error reading sqlTable1FIELD1.SQLConnection: property 0RAVECOMPLETED does not exist
Alguma sugestão?
function Imp1(vEmp: Integer): boolean; export; stdcall;
var Registry: TRegistry;
begin
with dmNFD2 do
begin
try
p_NumEmp := vEmp;
result := True;
if not(Assigned(dmNFD2)) then
//Application.CreateForm(TdmNFD2,dmNFD2); // erro aqui ou
dmNFD2 := TdmNFD2.Create(nil); // erro aqui
if not(dmNFD2.sqlConn.Connected) then
begin
ConnectBD; // le o registro do windows (path, user e password database)
end;
if dmNFD2.sqlConn.Connected then
begin
qryGen.Close;
qryGen.SQL.Text := 'select NFFCEN from DWGAS024 where PARNUM = :PARNUM';
qryGen.Params.ParamByName('PARNUM').AsInteger := p_NumEmp;
qryGen.Open;
// insert or update in other table
// ....
end;
except
on e:Exception do
begin
result := False;
end;
end;
end;
Fernando
Curtir tópico
+ 0Post mais votado
13/05/2016
Raimundo Pereira
Gostei + 1
Mais Posts
13/05/2016
Fernando
Gostei + 0
16/11/2017
Fernando
Gostei + 0
16/11/2017
Luiz Vichiatto
Já verificou se os parâmetros que estão sendo passados nas consultas estão corretos p_NumEmp é um inteiro na tabela e no parâmetro da consulta?
att
Gostei + 0
17/11/2017
Fernando
Se eu retiro o SimpleShareMem da dll, outros erros vem ocorrendo na aplicação (access violation genéricos, e aleatórios).
if not(Assigned(dmNFD2)) then
//Application.CreateForm(TdmNFD2,dmNFD2); // erro aqui ou
dmNFD2 := TdmNFD2.Create(nil); // erro aqui
Gostei + 0
17/11/2017
Luiz Vichiatto
if not(Assigned(dmNFD2)) then
//Application.CreateForm(TdmNFD2,dmNFD2); // erro aqui ou
dmNFD2 := TdmNFD2.Create(nil); // erro aquiGostei + 0
Clique aqui para fazer login e interagir na Comunidade :)