2009-08-12 5 views
0

Ok, so dies einige Code im Schreiben ist mir auf einem Spiel, um zu helfen, irgendwie ratlos ich die ...Methode unerwartet kurze Fertigstellungs stoppen, C# 2008 .net 3.5

ok so erfordert dies meine Methode:

private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e) 
    { 
     if (webBrowser1.Document.Url.OriginalString.Contains(@"page=logs")) 
     { 
      AttatchProcess Test = new AttatchProcess(); 
      Test.LogCleanser(webBrowser1); 
     } 
    } 

Und her die Methode:

public void LogCleanser(WebBrowser TargetBrowser) 
    { 

     if (TargetBrowser.Url.OriginalString.Contains(@"page=logs")) 
     { 


      Regex FindIP = new Regex(IPExpression); 
      HtmlElement LogArea = TargetBrowser.Document.GetElementsByTagName("textarea")[0]; 
      string log = LogArea.InnerHtml.ToString(); 

      foreach (Match ipfound in FindIP.Matches(log)) 
      { 
       if (ipfound.Value == MyIP) 
       { 
        log.Replace(ipfound.Value, ""); 
       } 
      } 

     } 

Also, sobald die genannte Methode eine Codezeile trifft auf ein Objekt Wert auf etwas in den Dokumenten HTML Zuordnung endet das Verfahren in diesem Fall der Zeile :

HtmlElement LogArea = TargetBrowser.Document.GetElementsByTagName ("textarea") [0];

ist getroffen und tötet die Methode, jede Hilfe und Ideen viel geschätzt!

Antwort

0

Wird eine leere Zeichenfolge protokolliert?

Was gibt FindIP.Matches(log) zurück?

Wenn Protokoll leer ist oder Ihre Regex keine Übereinstimmungen zurückgibt, würde dies erklären, warum es "ausfällt".

+0

Der Code ist nicht sogar bis zu dem Punkt der "log" einen Wert zuweisen, es fällt auf der .. HtmlElement LogArea = TargetBrowser.Document.GetElementsByTagName ("textarea") [0]; Zeile, die Seite hat deffinately ein Textarea-Tag als ive verwendet den gleichen Code zuvor ohne Probleme auf der gleichen Webseite – Yoda

+0

Woher wissen Sie? Single-stepping im Debugger? Wenn ja, überprüfen Sie TargetBrowser.Document.GetElementsByTagName ("Textarea") –

0

Ich würde vermuten, dass es keine <textarea/> Elemente im Dokument sind daher

verursacht
TargetBrowser.Document.GetElementsByTagName("textarea") 

null und Ihren Versuch zu indizieren ist das Array-Elemente zu sein (...ByTagName("textarea")[0]) verursacht ein NullReferenceException Wurf zu sein.

Dies ist alles Vermutung an dieser Stelle, da Ihre Frage nicht genügend Beweise, um sicher zu sein, liefern. Werden Ausnahmen ausgelöst? Wenn ja, von welchem ​​Typ?

+0

Keine Ausnahmen werden auf alle geworfen, weshalb ich so verwirrt bin! der Code stoppt nur und fällt aus der Methode, alle anderen Informationen, die Sie nützlich finden können, lassen Sie mich wissen – Yoda