Verificar, via programação, se Local Share do BDE está TRUE no Delphi
Inclua na seção uses:Registry, SysUtils, Windows
{ Esta função retorna true se Local Share estiver "TRUE". Caso contrário, retorna false. } function TBBDELocalShare: boolean; const BdeKey = 'SOFTWARE\Borland\Database Engine\Settings\SYSTEM\INIT'; Ident = 'LOCAL SHARE'; var Reg: TRegistry; begin Result := false; Reg := TRegistry.Create; try Reg.RootKey := HKEY_LOCAL_MACHINE; if Reg.OpenKey(BdeKey, False) then if Reg.ValueExists(Ident) then Result := UpperCase(Reg.ReadString(Ident)) = 'TRUE'; finally Reg.Free; end; end; { Use-a como abaixo: } if TBBDELocalShare then { Local Share está TRUE } else { Local Share está FALSE }
Observações
A função acima faz a verificação no registro do Windows. Por isto está sujeita a falha caso o BDE coloque as configurações em outro local (é o caso do BDE salvar as configurações no formato do Windows 3.x). O ideal seria usar uma API do BDE, mas até o momento não conheço uma que retorne esta informação. Caso alguém saiba, queira por gentileza nos informar.