Problemas ao usar SaveDialog
procedure T_horas.BitBtn10Click(Sender: TObject); begin if MessageBox(_horas.Handle,´Tem certeza que deseja iniciar o processo de exportação?´,´Aviso do Sistema´,mb_yesno+mb_iconquestion)=6 then begin if db=1 then begin Memo1.Lines.Add(´FUNCIONÁRIO : ´+dm.qhorasnome.value); While not dm.qhoras.eof do begin Memo1.Lines.Add(dM.qhorasmes.Value+´ ´+datetostr(dm.qhorasdata.value)+´ ´+dm.qhorasdia.Value+´ ´+dm.qhorasinicio.Value+´ ´+dm.qhorasfim.value+´ ´+floattostr(dm.qhorashoras.value)+´ ´+dm.qhorasmotivo.Value); dm.qhoras.Next; end; Memo1.Lines.Add(´======================================================================´); end else begin Memo1.Lines.Add(´FUNCIONÁRIO : ´+dm.qhorasfiltronome.value); While not dm.qhorasfiltro.eof do begin Memo1.Lines.Add(dM.qhorasfiltromes.Value+´ ´+datetostr(dm.qhorasfiltrodata.value)+´ ´+dm.qhorasfiltrodia.Value+´ ´+dm.qhorasfiltroinicio.Value+´ ´+dm.qhorasfiltrofim.value+´ ´+floattostr(dm.qhorasfiltrohoras.value)+´ ´+dm.qhorasfiltromotivo.Value); dm.qhorasfiltro.Next; end; Memo1.Lines.Add(´======================================================================´); end; if SaveDialog1.Execute then //Memo1.Lines.SaveToFile(SaveDialog1.FileName); ShowMessage(SaveDialog1.FileName); end;
Estou usando este código, mas quando rodo o aplicativo da um daqueles erros de leitura de memória.
Daniel_mc
Curtidas 0
Respostas
Beppe
20/04/2005
Em que linha exatamente?
GOSTEI 0
Massuda
20/04/2005
Se você estiver usando o VCLSkin, dê uma olhada [url=http://forum.clubedelphi.net/viewtopic.php?t=58181]neste tópico[/url] do fórum ou atualize sua versão do VCLSkin no [url=http://www.link-rank.com/]site oficial[/url].
GOSTEI 0
Daniel_mc
20/04/2005
Ele não dá erro em uma linha específica mas quando clico no botão para executar este código
GOSTEI 0
Massuda
20/04/2005
Apenas um palpite... Experimente alterar...para...
procedure T_horas.BitBtn10Click(Sender: TObject); begin if MessageBox(_horas.Handle, ...
procedure T_horas.BitBtn10Click(Sender: TObject); begin if MessageBox(Handle, ...
GOSTEI 0
Daniel_mc
20/04/2005
Fiz só uma mudança la em baixo para exibir uma mensagem quando acabar de criar o arquivo e tratar caso haja um erro
Eu atualizei e ele funcionou beleza, mas agora ta dando um erro mei sinistro, tipo:
1- Na barra de titulo do programa ao invés de aparecer o Titulo ´My Program´ , ta aparecendo um monte de cruizinhas ´++++++++++´, sabe o que pode ser isto??
2- e outro problemas é que no código acima quando ele acaba de criar o arquivo ele mostra um messagebox e fecha a tela de horas extras...
procedure T_horas.BitBtn10Click(Sender: TObject); begin if MessageBox(_horas.Handle,´Tem certeza que deseja iniciar o processo de exportação?´,´Aviso do Sistema´,mb_yesno+mb_iconquestion)=6 then begin if db=1 then begin Memo1.Lines.Add(´FUNCIONÁRIO : ´+dm.qhorasnome.value); While not dm.qhoras.eof do begin Memo1.Lines.Add(dM.qhorasmes.Value+´ ´+datetostr(dm.qhorasdata.value)+´ ´+dm.qhorasdia.Value+´ ´+dm.qhorasinicio.Value+´ ´+dm.qhorasfim.value+´ ´+floattostr(dm.qhorashoras.value)+´ ´+dm.qhorasmotivo.Value); dm.qhoras.Next; end; Memo1.Lines.Add(´======================================================================´); end else begin Memo1.Lines.Add(´FUNCIONÁRIO : ´+dm.qhorasfiltronome.value); While not dm.qhorasfiltro.eof do begin Memo1.Lines.Add(dM.qhorasfiltromes.Value+´ ´+datetostr(dm.qhorasfiltrodata.value)+´ ´+dm.qhorasfiltrodia.Value+´ ´+dm.qhorasfiltroinicio.Value+´ ´+dm.qhorasfiltrofim.value+´ ´+floattostr(dm.qhorasfiltrohoras.value)+´ ´+dm.qhorasfiltromotivo.Value); dm.qhorasfiltro.Next; end; Memo1.Lines.Add(´======================================================================´); end; if SaveDialog1.Execute then begin try Memo1.Lines.SaveToFile(SaveDialog1.FileName); MessageBox(_horas.Handle,´O arquivo foi criado com sucesso!´,´Aviso do Sistema´,mb_ok+mb_iconexclamation); except MessageBox(_horas.Handle,´Erro na exportação do arquivo!´,´Aviso do Sistema´,mb_ok+mb_iconexclamation); end; end; end;
Eu atualizei e ele funcionou beleza, mas agora ta dando um erro mei sinistro, tipo:
1- Na barra de titulo do programa ao invés de aparecer o Titulo ´My Program´ , ta aparecendo um monte de cruizinhas ´++++++++++´, sabe o que pode ser isto??
2- e outro problemas é que no código acima quando ele acaba de criar o arquivo ele mostra um messagebox e fecha a tela de horas extras...
GOSTEI 0
Massuda
20/04/2005
Fiz só uma mudança la em baixo para exibir uma mensagem quando acabar de criar o arquivo e tratar caso haja um erro...Eu atualizei e ele funcionou beleza, mas agora ta dando um erro mei sinistro...
Você colocou um bloco try..except ao redor do lugar onde (acho) o erro está ocorrendo... isso não corrige o problema, apenas esconde o erro.Os dois problemas que você citou dão impressão que está corrompendo memória ou coisa parecida.
Tem certeza que você não está usando o VCLSkin? Essa biblioteca frequentemente causa problemas com as as caixas de diálogo padrão.
GOSTEI 0
Daniel_mc
20/04/2005
Eu estou usando o VCLSkin e atualizei conforme vc recomendou e um problemas foi solucionado mas o pior e o aparecimento destas cruizinhas na barra de titulo de todas as janelas ´+++++++++++´. Isto eu não sei o que é.
GOSTEI 0
Massuda
20/04/2005
Eu estou usando o VCLSkin e atualizei conforme vc recomendou...
Teria como você testar a solução proposta [url=http://forum.clubedelphi.net/viewtopic.php?t=58181]neste tópico anterior[/url] do fórum? Apenas um palpite, mas acho que você pode desativar/reativar o skin nos eventos OnShow/OnClose do seu TSaveDialog.GOSTEI 0
Daniel_mc
20/04/2005
Na verdade o problema com o Save Dialog eu creio que com a atualização ja foi solucionado...
Entendi mas o e o problemas na barra de titulos que fica aparecendo com umas cruizinhas?
Entendi mas o e o problemas na barra de titulos que fica aparecendo com umas cruizinhas?
GOSTEI 0
Massuda
20/04/2005
...mas o e o problemas na barra de titulos que fica aparecendo com umas cruizinhas?
Eu acho que é problema relacionado com o skin... o VCLSkin é uma biblioteca que as pessoas gostam por causa do resultado final, mas ele é cheio de problemas; sugeri o teste apenas para eliminar essa possibilidade.De resto, não vejo onde possa estar dando problema, pois o código não tem nada de estranho. Sinceramente, não me ocorre mais nada.
GOSTEI 0
Daniel_mc
20/04/2005
Obrigado Camarada!
GOSTEI 0
Daniel_mc
20/04/2005
Olha só para efeito de resposta. O problema com a barra de titulo do Form foi resolvido com a instalação da versão 2.78, pois eu estava usando a versão 3.0
Valeu!
Valeu!
GOSTEI 0