AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Internet-Verbindung als Event abfangen und anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

Internet-Verbindung als Event abfangen und anzeigen

Offene Frage von "mumu"
Ein Thema von mumu · begonnen am 30. Jan 2004 · letzter Beitrag vom 22. Mär 2004
Antwort Antwort
mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#1

Internet-Verbindung als Event abfangen und anzeigen

  Alt 30. Jan 2004, 17:43
Frage: ich versuche das online und offline gehen mit einem event signalisieren, was mach ich hier falsch???

Delphi-Quellcode:
const
  RASCN_Connection = $00000001;
  RASCN_Disconnection = $00000002;
  RASCN_BandwidthAdded = $00000004;
  RASCN_BandwidthRemoved = $00000008;

function RasConnectionNotification(hrasconn: THRasConn; hEvent: THandle; dwFlags: Longint): longint; external 'rasapi32.dllname 'RasConnectionNotificationA';


var pCanRead: PWOHandleArray;
begin
  pCanRead:=AllocMem(2*sizeof(THandle));
  pCanRead[0]:=CreateEvent(nil,True,False,'RASStatusNotificationObject1');
  RasConnectionNotification(INVALID_HANDLE_VALUE, pCanRead[0], RASCN_Connection);
  if pCanRead[0] = 0 then showmessage('geht net');
  pCanRead[1]:=CreateEvent(nil,True,False,'RASStatusNotificationObject2');
  if pCanRead[1] = 0 then showmessage('geht net');
  RasConnectionNotification(INVALID_HANDLE_VALUE, pCanRead[1], RASCN_Connection);
  if WaitForMultipleObjects(2, @pCanRead[0],   False, 20) = WAIT_OBJECT_0 then showmessage('online');
  if WaitForMultipleObjects(2, @pCanRead[1],   False, 20) = WAIT_OBJECT_0+1 then showmessage('offline');
end;
danke schonmal im vorraus
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Internet-Verbindung als Event abfangen und anzeigen

  Alt 30. Jan 2004, 18:52
Moin mumu,

schau Dir nochmal genau die Dokumentation zu WaitForMultipleObjects an.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#3

Re: Internet-Verbindung als Event abfangen und anzeigen

  Alt 31. Jan 2004, 16:31
tja ich kriegs halt einfach nicht... habs heut jetzt den ganzen tag probiert, weiß nicht was ich da falsch mach WaitForMultipleObjects hab ich auch schon auf INFINITE gesetzt bzw. in eine Schleife gepackt, aber nix... habs auch schon mit waitforsingleobject gemacht:
Delphi-Quellcode:
var
    Event: THandle;
begin
  Event := CreateEvent(nil,False,False,'RASStatusNotificationObject1');
  RasConnectionNotification(INVALID_HANDLE_VALUE, Event, RASCN_Connection);
  waitret := waitforsingleobject(event, INFINITE);
  showmessage(inttostr(waitret));
wär echt spitze wenn mir jemand nochmal helfen würd

danke
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Internet-Verbindung als Event abfangen und anzeigen

  Alt 31. Jan 2004, 23:19
Moin Mumu,

statt Deiner zwei if Zeilen aus dem Eingangsposting probier's mal hiermit (ungetestet, sollte aber gehen):

Delphi-Quellcode:
var
  dwResult : DWORD;
  fExit : boolean;

begin
  // der Teil vor den if Zeilen

  fExit := false;
  while not fExit do begin
    dwResult := WaitForMultipleObjects(2,@pCanRead[0],False, 20);
    case dwResult of
      WAIT_OBJECT_0 : begin
        ShowMessage('online');
        fExit := true;
      end;
      WAIT_OBJECT_0 + 1 : begin
        ShowMessage('offline');
        fExit := true;
      end;
    end;
  end;
end;
Da ich das hier direkt reingeschrieben habe könnten noch Fehler enthalten sein.
Als Timeout kannst Du natürlich auch etwas anderes angeben.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#5

Re: Internet-Verbindung als Event abfangen und anzeigen

  Alt 1. Feb 2004, 12:41
also erstmal vielen dank für die antwort, nur es geht immer noch nicht. also ich denke nicht, dass es an der wait-funktion liegt, da ich es auch schon ganz einfach mit waitforsingleobject probiert hab... ich denk irgendwie, dass es entweder am erstellen des events hakt oder das die funktion RasConnectionNotification haut nicht richtig hin, hab schon ganz schön viel probiert... vielleicht hat ja jemand noch nie idee. hier nochmal mein jetziger code:

Delphi-Quellcode:
  pCanRead:=AllocMem(2*sizeof(THandle));
  pCanRead[0]:=CreateEvent(nil,True,False,'RASStatusNotificationObject1');
  RasConnectionNotification(INVALID_HANDLE_VALUE, pCanRead[0], RASCS_Connected);
  if pCanRead[0] = 0 then showmessage('geht net');
  pCanRead[1]:=CreateEvent(nil,True,False,'RASStatusNotificationObject2');
  if pCanRead[1] = 0 then showmessage('geht net');
  RasConnectionNotification(INVALID_HANDLE_VALUE, pCanRead[1], RASCS_Disconnected);

  fExit := false;
  while not fExit do begin
    dwResult := WaitForMultipleObjects(2,@pCanRead[0],False, 20);
    case dwResult of
      WAIT_OBJECT_0 : begin
        ShowMessage('online');
        fExit := true;
      end;
      WAIT_OBJECT_0 + 1 : begin
        ShowMessage('offline');
        fExit := true;
      end;
    end;
  end;
  Mit Zitat antworten Zitat
mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#6

Re: Internet-Verbindung als Event abfangen und anzeigen

  Alt 22. Mär 2004, 12:54
und noch jemand irgend eine idee... bin da immer noch dran.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz