BDE - usuarios conectados

Top  Previous  Next

1 - Pegar todos os usuários no momento :

Uses BDE;

 

procedure GetNetUsers(Strings: TStrings);

var

    hCur: hDBICur;

    rslt: DBIResult;

    User: USERDesc;

begin

  Check(DbiOpenUserList(hCur));

  repeat

    rslt := DbiGetNextRecord(hCur, dbiNOLOCK, @User, nil);

    if rslt = DBIERR_NONE then

      Strings.Add(User.szUserName)

    else

      if rslt <> DBIERR_EOF then

        Check(rslt);

  until rslt <> DBIERR_NONE;

end;

 

2 - Quantas vezes um mesma tabela está aberta numa rede :

 

Uses BDE;

 

function fDbiGetTableOpenCount(Table: TTable): Word;

var

  Props: CURProps;

begin

  Check(DbiGetCursorProps(Table.Handle, Props));

  Check(DbiGetTableOpenCount(Table.DBHandle, PChar(Table.TableName),

            Props.szTableType, Result));

end;