Fórum Problemas ao usar SaveDialog #278274

20/04/2005

0

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

Daniel_mc

Responder

Posts

20/04/2005

Beppe

Em que linha exatamente?


Responder

Gostei + 0

21/04/2005

Massuda

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


Responder

Gostei + 0

22/04/2005

Daniel_mc

Ele não dá erro em uma linha específica mas quando clico no botão para executar este código


Responder

Gostei + 0

22/04/2005

Massuda

Apenas um palpite... Experimente alterar...
procedure T_horas.BitBtn10Click(Sender: TObject);
begin
  if MessageBox(_horas.Handle, ...
para...
procedure T_horas.BitBtn10Click(Sender: TObject);
begin
  if MessageBox(Handle, ...



Responder

Gostei + 0

22/04/2005

Daniel_mc

Fiz só uma mudança la em baixo para exibir uma mensagem quando acabar de criar o arquivo e tratar caso haja um erro
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...


Responder

Gostei + 0

22/04/2005

Massuda

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.


Responder

Gostei + 0

22/04/2005

Daniel_mc

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


Responder

Gostei + 0

22/04/2005

Massuda

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.


Responder

Gostei + 0

22/04/2005

Daniel_mc

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?


Responder

Gostei + 0

22/04/2005

Massuda

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


Responder

Gostei + 0

22/04/2005

Daniel_mc

Obrigado Camarada!


Responder

Gostei + 0

23/04/2005

Daniel_mc

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!


Responder

Gostei + 0

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

Aceitar