Archive for July, 2006

Virtual Earth in WinForms und der UI Thread

July 18, 2006

Hat man in .net 1.1 ein UI Control aus einem Thread verändert, in dem das Control aber nicht erstellt wurde, führte das meist zu komischen Ergebnissen. In .net 2.0 hat sich hier schon viel getan. Die Methode this.InvokeRequired gibt mir zurück, ob ich mich auf dem UI Thread befinde (oder besser gesagt, ob ich mich eben nicht auf ihn befinde, und so ein Invoke benötige). So lässt sich dann Thread-sicherer Code schreiben à la:

.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: Consolas, “Courier New”, Courier, Monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }

   1:  if (this.InvokeRequired)
   2:  {
   3:      // ruf mich selbt noch mal mit delegate über this.Invoke auf
   4:  }
   5:  else
   6:  {
   7:      // der eigentliche Code
   8:  }

Recht nett. Nun binde ich als Virtual Earth als WebBrowser Element in einer WinForms App ein (wunderbares Beispiel auf ViaVirtualEarth, einfach mal die Gallerie durchstöbern und dann manuell die API auf V3 upgraden *G*). Funktioniert alles wunderbar, nur wenn ich eben ein Pin in die Karte zeichnen will, wirft mir .net eine “Invalid Cast Exception”. Hmpf. Ok, aber die Testmethode in OnLoad funktioniert mit den selben Parametern einwandfrei.

Der Betrefft lässt schon erahnen woran es lag. Die Art und Weise wie Virtual Earth in WinForms Apps funktioniert ist der, dass ich über das WebBrowser Control auf die JavaScript Methoden einer Art Proxy HTML Seite aufrufe und Parameter übergebe. Nun habe ich in diesem Fall nicht daran gedacht auf InvokeRequired zu überprüfen, war wohl zu naive. Die Fehlermeldung hat mir in diesem Fall zwar nicht weitergeholfen. WinForms Controls hingegen sagen einem in der Exception, dass man auf dem falschen Thread ist und lassen eine Änderung gar nicht zu. Wieso das auf das WebBrowser Control nicht zutrifft weiß ich nicht.

Naja, auch wieder was dazu gelernt und jetzt erscheinen meine Pins wunderbar wie sie sollen. Bin für heute wieder ein Happy Dev ;)

Das weltberühmte Stephanstheater

July 16, 2006

Während wir fleißig an CAPS weiterarbeiten, bin ich beim Entwickeln eines neuen Moduls (mit Hilfe von MSN Virtual Earth) auf eine Kuriosität gestoßen. Da wollte ich doch nur die GPS Koordinaten des Stephansdoms in Wien ermitteln und was sehe ich da auf Virtual Earth als Bezeichnung? Seht selbst… Da ist nichts verändert, nur ein Screenshot von der eingebundenen Karte. (Die Frage ist ob eher MS, NAVTEQ oder AND was falsch gemacht haben – alle drei schmücken die Karte ja mit ihren Copyrights…)

Virtual Earth Ausschnitt

Wiener Zeitung & MSDN Austria

July 11, 2006

Eine Meldung in der Wiener Zeitung und MSDN Austria.

Ich mag keine gestellten Fotos *g*

July 11, 2006

vor allem keine wo ich die Rolle des Blöden Angreifers übernommen habe.
DasGestellteFoto

Weltfinale in Indien – the Facts

July 8, 2006

Naja, spärlich aber doch trudeln langsam die Infos zu Indien rein.

Leider haben wir erfahren, dass es in den Hotels (wir sind den ersten Teil der Woche in Agra und dann in Delhi) keine Zugang zum Internet in den Zimmern (so wie letztes Jahr) geben wird, sondern nur eine WLAN Area (in Agra) und ein Internet Kiosk (in Delhi). Schon enttäuschend für ein Informatiker Wettbewerb, aber ok, wir werden trotzdem unser bestes tun von Indien aus zu bloggen.

Als zweites erreichte uns gestern die Nachricht, dass wir unsere Lösung nicht im Freien präsentieren können. Begründung war, dass im Falle des Falles das wir es in die Top 6 schaffen sollten, wir sowieso im Auditorium präsentieren müssen und somit die Vorrunde dieses Jahr nach den selben Bedingungen ablaufen wird wie die Endrunde. Nun gut, wir haben eine GPS Lösung (dazu mehr in einem späteren Post, wir sind von der WLAN Ortung wieder abgekommen) und die müssen wir halt jetzt “offline” präsentieren. Sehr schade, aber auch das werden wir irgendwie meisten.

Ansonsten ist dieses Wochenende viel Coding angesagt, die neue Server Version muss morgen Abend stehen. Die letzte Woche ist viel in Sachen PR passiert. Wir sind in den Forschungsnewsletter der Wirtschaftsuniversität Wien gekommen (FNL #10, WU Wien). Corina bemüht sich derzeit um mehr Medienpräsenz (kann ja nicht schaden). Ein paar Teamfotos sind entstanden, von denen ich eines präsentieren will *G* (L.n.r: Alex (TU/WU), Corina (WU), Keng (TU))

CapsTeamIndia06

WordPress 2.0.3 und ein paar Plugins…

July 8, 2006

Ja, ich habe endlich etwas Zeit gefunden, auf die aktuelle WP Version zu upgraden und mit das lästige Comment Spam Problem anzugehen. Zwar ist Comment Approval aktiviert, aber es kamen in den letzten Tagen einfach plötzlich so viele Spam Comments, da musste sich was ändern. Also habe ich wp-hashcash installiert… Ich hoffe das hilft. Außerdem habe ich im selben Zuge WP auf 2.0.3 aktualisiert und es schaut gut aus. Viel AJAX, nützliche Features und macht insgesamt einen guten Eindruck. Nichts destotrotz muss ich jetzt zurück zu CAPS, da gibt’s dieses Wochenende auch noch ein Posting.

Update: Hmm.. Wp-HashCash hat überhaupt nichts geholfen!? Kaum installiert, schon kamen wieder 7 Spams.. Also habe ich jetzt CaptCha! installiert… Mal sehen ob das was hilft…