Also, mit dieser Routine wird der markierte Eintrag aus der RasList(TListView) angewählt:
Delphi-Quellcode:
procedure TsMain.DialEntries;
begin
// Logbuch leeren und einblenden.
LogBuch.items.clear;
SwitchToExplorer(false);
DialingIsDone := false;
Dialerror := 0;
sMain.PlayWaveSound('ERING');
repeat
Log('- Wähle: '+RasList.ItemFocused.Caption);
rasComm.RASDialEntry(RasList.ItemFocused.Caption);
repeat
application.processmessages;
until DialingIsDone;
if (Dialerror <> 0) then
begin
DialIngIsDone := false;
Break;
end;
until DialingIsdone;
if (Dialerror <> 0) then
begin
ShowMessage('Es konnte keine Verbindung hergestellt werden');
SwitchToExplorer(true);
end;
end;
Wenn ich den Prozess des Wählens unterbrechen will, betätige ich den Stop-Button:
Delphi-Quellcode:
procedure TsMain.StopBtnClick(Sender: TObject);
begin
Screen.Cursor := crHourglass;
// Parallelprozeß abbrechen.
DialError := 0;
DialingIsDone := true;
// Verbindung abbrechen.
rasComm.RASHangUp;
Log('Verbindung wird getrennt');
BulbOff(true);
LogBuch.refresh;
ShowMessage('Verbindung wurde getrennt.');
SwitchToExplorer(true);
...
end;
Entscheidend ist dabei die Variable DialingIsDone: wenn ich die auf True setze, wird das Einwählen sofort abgebrochen.