{É bem simples, trata-se de abrir por código todas as tabelas na entrada do programa, portanto deixe todas as tabelas fechadas no datamodule.}
procedure DataModule.OnCreate;
var Tabela, i: Integer;
begin
Tabela := 0;
for I := 0 to ComponentCount -1 do
if Components[I] is TTable then
with TTable(Components[I]) do
if (Tag = 9) and not Active then // Tag = 9 identifica as tabelas à serem
abertas
try
Inc(Tabela); // contador das tabelas q já foram abertas.
lblInfo.Caption := Format('Abrindo as Tabelas (%d/%d)', [Tabela, Total]);
{aqui, informo à uma label o andamento do processo, usei o formato
TotalTabelasAbertas/TotalàAbrir, pode-se trocar para porcentagem ou até usar o
ProgressBar.}
lblInfo.Refresh; // vital para atualizar a tela durante o processo.
Application.ProcessMessages;
Open;
except
Raise; // quem estiver a fim, pode-se colocar aqui uma verificação, se deu zebra
e a zebra é indice corrompido, rodar rotina de recriação de indice da tabela.
end;
Mostrando postagens com marcador Colocando uma barra de progresso na inicialização do sistema. Mostrar todas as postagens
Mostrando postagens com marcador Colocando uma barra de progresso na inicialização do sistema. Mostrar todas as postagens
segunda-feira, 23 de novembro de 2009
Assinar:
Postagens (Atom)