Laden...

Auf WebBrowser warten

Erstellt von SkySurfer vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.811 Views
S
SkySurfer Themenstarter:in
298 Beiträge seit 2006
vor 17 Jahren
Auf WebBrowser warten

Hi,

ich habe eine Klasse geschrieben die eine übergebene URL einem WebBrowser läd. Wenn dieser das DocumentCompleted Event auslöst wird ein Image vom Inhalt gemacht und dieses über eine Get Methode wieder zurück gibt.

Nun habe ich das Problem, dass es eine gewisse Zeit zwischen übergeben der URL und bis das Bild durch die Get Methode bereitgestellt wird vergeht.

Das heißt bei

Klasse.GetImageFromURL(url);
Image img = Klasse.GetImage();

bekomme ich immer img = null weil der Browser die Seite noch nicht geladen hat.

Wie könnte man das hinbekommen?

Gruß SkySurfer

Es gibt 11 Arten von Menschen:

  • Die, die binär verstehen
  • Die, die es nicht tun
  • Die, die Witze darüber machen
A
38 Beiträge seit 2005
vor 17 Jahren

Du könntest einen Timer benutzen 🙂 1sec später bild machen oder so

[**(¯`·._.·[The Higher Community]·._.·´¯)**](http://www.nexus-der-macht.de/)
S
SkySurfer Themenstarter:in
298 Beiträge seit 2006
vor 17 Jahren

Naja wär halt quick n dirty,
aber es müsste doch noch andere Möglichkeiten geben.
Hatte schon an threads oder so gedacht ?

Es gibt 11 Arten von Menschen:

  • Die, die binär verstehen
  • Die, die es nicht tun
  • Die, die Witze darüber machen
248 Beiträge seit 2005
vor 17 Jahren

Hallo SkySurfer,

implementiere doch einen Event in Deiner "Klasse". Dann kannst Du Dich benachrichtigen lassen wenn die Bilderzeugung durch ist.

Also ein Äquivalent zum DocumentRendered-Event, nur eben eine Ebene höher. Browser informiert "Klasse", Klasse rendert Bild, informiert dann aufrufende Instanz.

🙂 Torsten

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo SkySurfer,

warten ist bei Windows-Forms ohnehin ungünstig. Die Frage sollte also sein, welches ist das richtige Event. Und auch hier müsste DocumentCompleted dein Freund sein.

herbivore

S
SkySurfer Themenstarter:in
298 Beiträge seit 2006
vor 17 Jahren

Events kann ich aber nur mit einer weiteren Funktion verknüpfen seh ich das richtig?

Dann hab ich das Problem, dass Daten die mit dem erzeugten Bild weiterverwendet werden sollen global sein müssten, was wohl auch nicht so toll ist, oder sie in der neuen Funktion wieder neu geladen werden müssten, was bei XML doch auch etwas aufwendiger ist.

Es gibt 11 Arten von Menschen:

  • Die, die binär verstehen
  • Die, die es nicht tun
  • Die, die Witze darüber machen
49.485 Beiträge seit 2005
vor 17 Jahren

Hallo SkySurfer,

dass Daten die mit dem erzeugten Bild weiterverwendet werden sollen global sein müssten

nein, sehe ich nicht so. Mal abgesehen davon, dass es globale Daten in OO nicht wirklich gibt, braucht man hier vermutlich nicht mal static Daten (die den globalen Daten nahe kommen).

herbivore

S
SkySurfer Themenstarter:in
298 Beiträge seit 2006
vor 17 Jahren

Ich hab es jetzt in eine eigene Klasse verpackt, die alle Daten übergeben bekommt, bzw dann erst von ihr ermittelt werden. Diese lass ich dann von einer foreach Schleife instanzieren.

Es gibt 11 Arten von Menschen:

  • Die, die binär verstehen
  • Die, die es nicht tun
  • Die, die Witze darüber machen