maximu user count exceeded !!!
Olá ..
Bom, meu sistema começou a dar esse erro - ´maximu user count exceeded´ - depois que inseri uma procedure DataHoraServidor e acesso2:
procedure TFRM_Principal.DataHoraServidor;
//executada no método ONTime do TTImer
var
SystemTime : TSystemTime;
resposta : LongBool;
DateTime: TDateTime;
begin
with IBQuery1 do
begin
Close;
SQL.Text:=´SELECT CURRENT_DATE, CURRENT_TIME FROM RDB$DATABASE´;
Open;
end;
DateTime := StrToDateTime(IBQuery1.Fields[0].AsString + ´ ´ + IBQuery1.Fields[1].AsString );
DateTimeToSystemTime(DateTime, SystemTime);
//Colocar a data e hora do sistema
resposta := SetLocalTime(SystemTime);
if resposta then
SBR_Principal.Panels[0].Text := DateTimeToStr(Now);
end;
EM ACESSO2
{executada no método OnCreate do form principal}
if OLog.ModalResult = MrOk then
begin
DTB_Principal.Open;
{Sequencia de codigo para alterar data e hora do computador local por data e hora do servidor}
IBDatabase1.LoginPrompt := False;
IBDatabase1.Params[0] := ´user_name=´+Olog.EDT_Nome.Text;
IBDatabase1.Params[1] := ´password=´+Olog.EDT_Senha.Text;
IBDatabase1.Connected := True;
//SBR_Principal.Panels[1].Text := IBDatabase1.Params[0];
hora := True;
end
Sendo que utilizo dois modos de conexão, com DataBase e com IBDatabase, isto pq a única maneira para atualizar o sistema com a hora do servidor é pelo IBDatabase ( pois o usuario estava mudando o dia e hora do computador local ), e o restante da minha aplicação está conectada ao BD ( Interbase 6.0 ) pelo Database.
Oq está ocasionando isto??
Bom, meu sistema começou a dar esse erro - ´maximu user count exceeded´ - depois que inseri uma procedure DataHoraServidor e acesso2:
procedure TFRM_Principal.DataHoraServidor;
//executada no método ONTime do TTImer
var
SystemTime : TSystemTime;
resposta : LongBool;
DateTime: TDateTime;
begin
with IBQuery1 do
begin
Close;
SQL.Text:=´SELECT CURRENT_DATE, CURRENT_TIME FROM RDB$DATABASE´;
Open;
end;
DateTime := StrToDateTime(IBQuery1.Fields[0].AsString + ´ ´ + IBQuery1.Fields[1].AsString );
DateTimeToSystemTime(DateTime, SystemTime);
//Colocar a data e hora do sistema
resposta := SetLocalTime(SystemTime);
if resposta then
SBR_Principal.Panels[0].Text := DateTimeToStr(Now);
end;
EM ACESSO2
{executada no método OnCreate do form principal}
if OLog.ModalResult = MrOk then
begin
DTB_Principal.Open;
{Sequencia de codigo para alterar data e hora do computador local por data e hora do servidor}
IBDatabase1.LoginPrompt := False;
IBDatabase1.Params[0] := ´user_name=´+Olog.EDT_Nome.Text;
IBDatabase1.Params[1] := ´password=´+Olog.EDT_Senha.Text;
IBDatabase1.Connected := True;
//SBR_Principal.Panels[1].Text := IBDatabase1.Params[0];
hora := True;
end
Sendo que utilizo dois modos de conexão, com DataBase e com IBDatabase, isto pq a única maneira para atualizar o sistema com a hora do servidor é pelo IBDatabase ( pois o usuario estava mudando o dia e hora do computador local ), e o restante da minha aplicação está conectada ao BD ( Interbase 6.0 ) pelo Database.
Oq está ocasionando isto??
Karencamila
Curtidas 0
Respostas
Welter
27/05/2004
Sua funcao apenas conecta no banco e deixa a conexão pendurada, o contador de usuarios online nao é decrementado desta maneira, voce precisa dar o close na sua funcao antes de sair dela, bem como destruir tudo que criou assim evitando de deixar coisas na memoria.
é uma pratica bastante recomendada tanto aqui como em qualquer parte do sistema.
Abracao
Marcelo
é uma pratica bastante recomendada tanto aqui como em qualquer parte do sistema.
Abracao
Marcelo
GOSTEI 0