Bei jedem Öffnen der Datenbankverbindung meldet sich als erstes die Anmeldung des DFÜ-Netzwerkes. Schaltet man im IE unter Optionen/Verbindung diese ab, kommt das Fenster nicht mehr. Aber viele Programme, die eine DFÜ- Verbindung benötigen (auch der IE) kommen dann damit nicht mehr zurecht.
In meinem Lösungsvorschlag wird die Anmeldung dynamisch an und abgeschaltet.
Achtung
Beim Update auf den IE 5.5 wurde der Variablentyp des Schlüssels geändert.
// Datenbankverbindung öffnen, und dabei das DFü-Fenster unterbinden
const
Key1 = '\Software\Microsoft\Windows\Currentversion\Internet Settings';
Key2 = 'EnableAutodial';
EnableAutoDial = 1;
DisableAutoDial = 0;
{ Der SchlÜsselTyp von Key2 wurde mit dem Internetexplorer 5.5 geändert}
procedure Database_Connected(db: TCustomConnection);
var
reg : TRegistry;
isKey : Boolean;
i : integer;
procedure _writekey(Value: integer);
begin
if isKey then
case reg.GetDataType(key2) of
rdInteger: reg.WriteInteger(Key2, Value);
rdBinary: reg.WriteBinaryData(Key2, Value, sizeof(Value));
end;
end;
begin
if not db.Connected then begin
Screen.Cursor := crSQLWait;
try
reg := TRegistry.Create;
try
isKey := reg.KeyExists(Key1);
if isKey then begin
reg.OpenKey(Key1, false);
isKey := reg.ValueExists(Key2);
if isKey then
case reg.GetDataType(Key2) of
rdInteger: I := reg.ReadInteger(Key2);
rdBinary: reg.ReadBinaryData(Key2, I, SizeOf(I));
else i := 0;
end;
isKey := I = EnableAutoDial;
end;
_writekey(DisableAutoDial);
try
db.Connected := true;
finally
_writekey(EnableAutoDial);
end;
finally
reg.Free;
end;
finally
Screen.Cursor := crDefault;
end;
end;
end;
|