ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Perdendo dados (PARADOX)

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
visitante
Aprendiz
Aprendiz


Registrado: Domingo, 10 de Janeiro de 2010
Mensagens: 261

MensagemEnviada: Ter Fev 14, 2006 10:48 am    Assunto: Perdendo dados (PARADOX) Responder com Citação

Colegas,
Fiz um sisteminha de cadastro bem simples com Delphi e Paradox.
Está rodando e cadastrando corretamente, mas tive um problema:
Após alguns registros inseridos, o Windows 98 SE que uso aqui deu um pau e travou. Fui obrigado a reiniciar e quando reiniciei, abri o sisteminha e os dados não estavam mais lá. Apenas os dois registros que existiam antes de eu começar a usá-lo efetivamente.
Existe alguma rotina que SALVE os dados pra que num possível travamento ele apenas perca o que eu esteja cadastrando e não o que eu tenha cadastrado desde que abri o software?

Grato.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
an.der.son
Colaborador
Colaborador


Registrado: Quarta-Feira, 26 de Mai de 2004
Mensagens: 2275
Localização: Itaocara - RJ

MensagemEnviada: Ter Fev 14, 2006 10:55 am    Assunto: Perdendo dados (PARADOX) Responder com Citação

Adicione [b]BDE[/b] na uses...

coloque no after post
[code]
FlushTables(Self);
RefreshTables(Self);
[/code]

Declare as funcoes
[code]
procedure Tdm.RefreshTables(Sender : TObject);
var
i : Integer;
begin
for i := 0 to Self.ComponentCount-1 do
begin
if Components[i] is TTable then
if (Components[i] as TTable).Active then
(Components[i] as TTable).Refresh;
end;
end;

procedure Tdm.FlushTables(Sender : TObject);
var
i : Integer;
begin
for i := 0 to Self.ComponentCount-1 do
begin
if Components[i] is TTable then
if (Components[i] as TTable).Active then
begin
(Components[i] as TTable).FlushBuffers;
DbiSaveChanges((Components[i] as TTable).Handle);
end;
end;
end;
[/code]

Isto resolveu a maior parte dos meus problemas.

Abraços
_________________
Estou de volta!!!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário Yahoo Messenger MSN Messenger
visitante
Aprendiz
Aprendiz


Registrado: Domingo, 10 de Janeiro de 2010
Mensagens: 261

MensagemEnviada: Ter Fev 14, 2006 12:13 pm    Assunto: Perdendo dados (PARADOX) Responder com Citação

[img]http://www.becher.com.br/www/pscreen.jpg [/img]

Taí um print screen dos erros que deu.
Esqueci de falar, sou leigo. Se bobear, não entendi o que é declrar uma function.
Apenas coloquei no codigo antes das procedures e depois do ($R .dfm).

Abraços.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB