Erro no QuickRep1.preview
Galera tô com esse código para fazer impressão
Ta dando erro na linha
Erro:
O que pode ser?
procedure TF_RELATORIO_LANCAMENTO_FORM.imprimirClick(Sender: TObject); begin dm.sdsLancamento.Close; dm.sdsLancamento.CommandText:=´select lancamento_projeto.*, material.descricao, material.un, ´ + ´projeto.nome_projeto ´ + ´from lancamento_projeto, projeto ´ + ´inner join material on ´ + ´lancamento_projeto.cod_ordenado_m = material.cod_ordenado ´ + ´where cod_projeto_lancamento=:cod_projeto_lancamento´; dm.sdsLancamento.ParamByName(´cod_projeto_lancamento´).AsString:=projeto.Text; dm.sdsLancamento.Open; dm.cdsLancamento.Close; dm.cdsLancamento.Open; dm.cdsLancamento.Refresh; R_LANCAMENTO.QuickRep1.Preview; end;
Ta dando erro na linha
R_LANCAMENTO.QuickRep1.Preview
Erro:
--------------------------- Debugger Exception Notification --------------------------- Project MATERIAIS.exe raised exception class EAccessViolation with message ´Access violation at address 0062CD2F in module ´MATERIAIS.exe´. Read of address 000002F8´. Process stopped. Use Step or Run to continue. --------------------------- OK Help ---------------------------
O que pode ser?
Jpauloss
Curtidas 0
Respostas
Rpatricia
25/12/2007
Olá jpauloss
Primeiro verifica se você deu um CreateForm no seu form onde você tem seu quickreport, pois você tá tentando acessar um objeto que ainda não foi criado na memória
e antes do seu
também tente usar assim
Espero que ajude! :wink:
abs
Patrícia
Primeiro verifica se você deu um CreateForm no seu form onde você tem seu quickreport, pois você tá tentando acessar um objeto que ainda não foi criado na memória
e antes do seu
R_LANCAMENTO.QuickRep1.Preview;
também tente usar assim
R_LANCAMENTO.QuickRep1.Prepare;
Espero que ajude! :wink:
abs
Patrícia
GOSTEI 0
Jpauloss
25/12/2007
Olá jpauloss
Primeiro verifica se você deu um CreateForm no seu form onde você tem seu quickreport, pois você tá tentando acessar um objeto que ainda não foi criado na memória
e antes do seu
também tente usar assim
Espero que ajude! :wink:
abs
Patrícia
R_LANCAMENTO.QuickRep1.Preview;
R_LANCAMENTO.QuickRep1.Prepare;
O problema é que estou usando em MDI.
Coloquei assim
R_LANCAMENTO.QuickRep1.Preview; R_LANCAMENTO:=TR_LANCAMENTO.CREATE(SELF);
GOSTEI 0
Jpauloss
25/12/2007
Ao contrário.
R_LANCAMENTO:=TR_LANCAMENTO.CREATE(SELF); R_LANCAMENTO.QuickRep1.Preview;
GOSTEI 0
Jpauloss
25/12/2007
Coloquei o formstyle=fsNormal e meu código ta assim
E o erro é o mesmo
Que faço?
procedure TF_RELATORIO_LANCAMENTO_FORM.btnSemValorClick(Sender: TObject); begin if (projeto.Text=´´) then begin ShowMessage(´Selecione projeto!´); exit end else R_LANCAMENTO_SEM_VALORES2.sdsRelLancamentoProjeto.Close; R_LANCAMENTO_SEM_VALORES2.sdsRelLancamentoProjeto.CommandText:=´select lancamento_projeto.*, ´ + ´cast(total as float) as total_flt, ´ + ´grupo.descricao_grupo, grupo.cod_grupo, ´ + ´material.descricao, ´ + ´material.un, material.preco_unitario, ´ + ´projeto.nome_projeto ´ + ´from lancamento_projeto, projeto, grupo ´ + ´inner join material on ´ + ´lancamento_projeto.cod_ordenado_m = material.cod_ordenado ´ + ´and grupo.id_grupo = lancamento_projeto.cod_grupo_fk ´ + ´where cod_projeto_lancamento=:cod_projeto_lancamento´; R_LANCAMENTO_SEM_VALORES2.sdsRelLancamentoProjeto.ParamByName(´cod_projeto_lancamento´).AsString:=projeto.Text; R_LANCAMENTO_SEM_VALORES2.sdsRelLancamentoProjeto.Open; R_LANCAMENTO_SEM_VALORES2.cdsRelLancamentoProjeto.Close; R_LANCAMENTO_SEM_VALORES2.cdsRelLancamentoProjeto.Open; R_LANCAMENTO_SEM_VALORES2.cdsRelLancamentoProjeto.Refresh; R_LANCAMENTO_SEM_VALORES2.ShowModal; R_LANCAMENTO_SEM_VALORES2.QuickRep1.PreviewModal;
E o erro é o mesmo
--------------------------- Debugger Exception Notification --------------------------- Project MATERIAIS.exe raised exception class EAccessViolation with message ´Access violation at address 00631517 in module ´MATERIAIS.exe´. Read of address 0000035C´. Process stopped. Use Step or Run to continue. --------------------------- OK Help ---------------------------
Que faço?
GOSTEI 0
Jpauloss
25/12/2007
up
GOSTEI 0
Djjunior
25/12/2007
que me lembre voce não dá um showmodal no form que o quick está seria somente um create e um preview.
vc detectou em que [u:56ee62402b]linha[/u:56ee62402b] está o erro ?
se você deu um close/OPen na query não vejo sentido em dar um refresh logo em seguinda.
vc detectou em que [u:56ee62402b]linha[/u:56ee62402b] está o erro ?
se você deu um close/OPen na query não vejo sentido em dar um refresh logo em seguinda.
GOSTEI 0
Jpauloss
25/12/2007
que me lembre voce não dá um showmodal no form que o quick está seria somente um create e um preview.
vc detectou em que [u:108ca7955c]linha[/u:108ca7955c] está o erro ?
se você deu um close/OPen na query não vejo sentido em dar um refresh logo em seguinda.
O erro esta dando na linha
R_LANCAMENTO_SEM_VALORES2.sdsRelLancamentoProjeto.CommandText:=´select
Que faço?
GOSTEI 0
Djjunior
25/12/2007
Tipo kde o Create do R_LANCAMENTO_SEM_VALORES2 ?
Pelo que pude ver no seu código ele não está criado ainda por isso o erro. tente quando parar neste item dar um ctrl+f7 para ver o conteúdo dele ... deve estar null dê o create antes de começar a mexer nele
Pelo que pude ver no seu código ele não está criado ainda por isso o erro. tente quando parar neste item dar um ctrl+f7 para ver o conteúdo dele ... deve estar null dê o create antes de começar a mexer nele
GOSTEI 0
Jpauloss
25/12/2007
Tipo kde o Create do R_LANCAMENTO_SEM_VALORES2 ?
Pelo que pude ver no seu código ele não está criado ainda por isso o erro. tente quando parar neste item dar um ctrl+f7 para ver o conteúdo dele ... deve estar null dê o create antes de começar a mexer nele
Que código coloco?
GOSTEI 0
Djjunior
25/12/2007
Na sua linha:
R_LANCAMENTO:=TR_LANCAMENTO.CREATE(SELF);
tem um erro grave... o self, o formulário não pode ser ´pai´ dele mesmo, use o Application em vez de self.
e essa linha que vir antes de qualquer referencia que vc for fazer do R_LANCAMENTO e no fim não se esqueça de dar um free nele faça algo do tipo
R_LANCAMENTO:=TR_LANCAMENTO.CREATE(SELF);
tem um erro grave... o self, o formulário não pode ser ´pai´ dele mesmo, use o Application em vez de self.
e essa linha que vir antes de qualquer referencia que vc for fazer do R_LANCAMENTO e no fim não se esqueça de dar um free nele faça algo do tipo
R_LANCAMENTO:=TR_LANCAMENTO.CREATE(SELF); try ... seus códigos R_LANCAMENTO.QuickRep1.Preview; finally R_LANCAMENTO.FREE; end;
GOSTEI 0
Jpauloss
25/12/2007
Na sua linha:
R_LANCAMENTO:=TR_LANCAMENTO.CREATE(SELF);
tem um erro grave... o self, o formulário não pode ser ´pai´ dele mesmo, use o Application em vez de self.
e essa linha que vir antes de qualquer referencia que vc for fazer do R_LANCAMENTO e no fim não se esqueça de dar um free nele faça algo do tipo
R_LANCAMENTO:=TR_LANCAMENTO.CREATE(SELF); try ... seus códigos R_LANCAMENTO.QuickRep1.Preview; finally R_LANCAMENTO.FREE; end;
Valeu! funcinou.
GOSTEI 0
Wanderok
25/12/2007
:D:D:D
GOSTEI 0