Einzelnen Beitrag anzeigen

Basilikum

Registriert seit: 9. Aug 2003
389 Beiträge
 
Delphi 7 Professional
 
#12

Re: Message wenn sich die IP einer NIC ändert?

  Alt 28. Apr 2006, 13:44
Zitat von Sharky:
Allerdings werde ich mir auch noch mal ansehen wie das ganze in einem Thread aussehen würde.
ich würde aber auf jeden Fall nicht die blockierende Variante verwenden, sonder weiterhin mit Events arbeiten... ansonsten bist Du auf unschöne Sachen wie TerminateThread(fThread.Handle, 0); angewiesen...

also eher im Sinne von:
Delphi-Quellcode:
Procedure TAddrChangeThread.Execute();
Var
  H : THandle;
  Overlapped : Overlapped;
  R : DWORD;
Begin
  Overlapped.hEvent:=CreateEvent(Nil,False,False,Nil);
  Try
    While not Terminated Do Begin
      R:=NotifyAddrChange(H,Overlapped);
      If not ((R = NO_ERROR) or (R = ERROR_IO_PENDING)) Then RaiseLastOSError();

      While True Do Begin
        If Terminated Then Exit;

        Case WaitForSingleObject(Overlapped.hEvent,500) Of
          WAIT_TIMEOUT : Continue;
          WAIT_OBJECT_0 : Break;
          Else Exit;
        end;
      end;

      // Mach was...
      Synchronize(....);
    end;
  Finally
    CloseHandle(Overlapped.hEvent);
  end;
end;
  Mit Zitat antworten Zitat