Erro de access violation inassesible value
06/04/2018
0
Meu codigo e esse
No momento que with CONEXAOfIREDAC.FDQueryNcm do ele da o erro;
Foi criado um datamodule.
procedure TSqlNcm.InsertNcm; VAR SeqCtrlNcmUf : String; SQLInsertNcm: TStringList; sqlNextivalNcm : string; CONEXAOfIREDAC : TDMCONEXAOFIREDAC; begin SQLInsertNcm := TStringList.Create; //aqui esta cria a lista para ser o codigo de insert SQLInsertNcm.add('INSERT INTO CTRLNCMUF CTRL'); SQLInsertNcm.add('(SEQCTRLNCMUF, NCM, NCMDESCRICAO, MVAAJUSTADA4,'); SQLInsertNcm.add(' MVAAJUSTADA7, MVAAJUSTADA12, MVAAJUSTADA17,'); SQLInsertNcm.add(' MVAAJUSTADA18, ALIQUOTAINTERNA, MVAORIGINAL)'); SQLInsertNcm.add(' VALUES (SEQCTRLNCMUF.NEXTVAL, :NEWNCM, :NEWNCMDESCRICAO, :NEWMVAAJUSTADA4,'); SQLInsertNcm.add(' :NEWMVAAJUSTADA7, :NEWMVAAJUSTADA12, :NEWMVAAJUSTADA17,'); SQLInsertNcm.add(' :NEWMVAAJUSTADA18, :NEWALIQUOTAINTERNA, :NEWMVAORIGINAL)'); //Aqui cria a string seqncm SeqCtrlNcmUf :='SEQCTRLNCMUF.NEXTVAL'; // Aqui cria o data module CONEXAOfIREDAC := TDMCONEXAOFIREDAC.Create(CONEXAOfIREDAC); // Aqui vamos utilisar o fdqueryNCm para pegar o nextival with CONEXAOfIREDAC.FDQueryNcm do begin sql.Clear; sql.AddStrings(SQLInsertNcm); end; CONEXAOfIREDAC.FDQueryNcm.ParamByName('NEWNCM').AsString := FormPrinc.vNcmFormcadastro; CONEXAOfIREDAC.FDQueryNcm.ParamByName('NEWNCMDESCRICAO').AsString := FormPrinc.vNcmDescricaoFormcadastro; CONEXAOfIREDAC.FDQueryNcm.ParamByName('NEWMVAAJUSTADA4').AsString := FormPrinc.vMvaAjustada4Formcadastro; CONEXAOfIREDAC.FDQueryNcm.ParamByName('NEWMVAAJUSTADA7').AsString := FormPrinc.vMvaAjustada7Formcadastro; CONEXAOfIREDAC.FDQueryNcm.ParamByName('NEWMVAAJUSTADA12').AsString := FormPrinc.vMvaAjustada12Formcadastro; CONEXAOfIREDAC.FDQueryNcm.ParamByName('NEWMVAAJUSTADA17').AsString := FormPrinc.vMvaAjustada17Formcadastro; CONEXAOfIREDAC.FDQueryNcm.ParamByName('NEWMVAAJUSTADA18').AsString := FormPrinc.vMvaAjustada18Formcadastro; CONEXAOfIREDAC.FDQueryNcm.ParamByName('NEWALIQUOTAINTERNA').AsString := FormPrinc.vAliquotaInternaFormcadastro; CONEXAOfIREDAC.FDQueryNcm.ParamByName('NEWMVAORIGINAL').AsString := FormPrinc.vMvaOriginalFormcadastro; CONEXAOfIREDAC.FDQueryNcm.ExecSQL(); // procedimento que executaa query END;
No momento que with CONEXAOfIREDAC.FDQueryNcm do ele da o erro;
Foi criado um datamodule.
Gustavo Souza
Curtir tópico
+ 0
Responder
Post mais votado
06/04/2018
Boa tarde.
Se FDQueryNcm está em um DataModule, creio que deves referenciá-lo de lá: DM.FDQueryNcm.
Desculpa se não ajudo muito, mas o código é pequeno para tentar entender melhor.
Se FDQueryNcm está em um DataModule, creio que deves referenciá-lo de lá: DM.FDQueryNcm.
Desculpa se não ajudo muito, mas o código é pequeno para tentar entender melhor.
Carlos Natividade
Responder
Mais Posts
12/04/2018
Emerson Nascimento
acredito que o problema esteja na criação do datamodule.
troque para:
ou:
// Aqui cria o data module CONEXAOfIREDAC := TDMCONEXAOFIREDAC.Create(CONEXAOfIREDAC);
troque para:
// Aqui cria o data module CONEXAOfIREDAC := TDMCONEXAOFIREDAC.Create(Self);
ou:
// Aqui cria o data module CONEXAOfIREDAC := TDMCONEXAOFIREDAC.Create(nil);
Responder
Clique aqui para fazer login e interagir na Comunidade :)