Saturday, July 26, 2003 - Posts

BUG: ListView.Cursor hat keine Auswirkungen

"Armin Zingler" <az.nospam@freenet.de> wrote in message
news:uO5pjJTUDHA.2520@tk2msftngp13.phx.gbl...
> Hallo NG,
>
> ich setze die Cursor-Eigenschaft eines ListViews (lvw.Cursor =
> Cursors.AppStarting). Es wird aber immer der Standard-Cursor angezeigt.
> Warum? Es nützt auch nichts im MouseEnter und MouseMove den Cursor zu
> setzen.
>
> Armin
>

"Ryszard Gawron [MS]" <rysiekg@hotline.com> schrieb:

Hallo Armin,
das ist ein Bug und sollte bei der nächsten Version von Visual Studio .NET
gefixt sein.

Viele Grüsse

Ryszard Gawron
Microsoft Developer Support

with 0 Comments

TechEd 2003: Der 5. und letzte Tag

Tech·Ed Home

Freitag, 4.07.03

Der letzte Tag der TechEd nimmt seinen Lauf… es gab hier so viel zu hören und zu sehen, dass man oftmals an mehreren Stellen gleichzeitig gewesen wäre um nichts Spannendes zu verpassen. Etwas Spannendes gab’s auch in der nächsten Session, denn Euan Garden verriet dort das eine oder andere Feature des zukünftigen SQL Servers – Codename: Yukon – und zeigte einige praktische Beispiele wie man Stored Procedures und User Defined Functions in C# schreiben kann. Leider hielt er sich mit konkreten Infos und Demos zurück. Diese werden wohl erst auf der PDC in L.A. im Oktober bekanntgegeben. Zum Inhalt: Eigener Code der mit einer .NET Sprache entwickelt wurde kann in Yukon in der Datenbank (als Stored Procedure bzw. User Defined Function) oder als Middle-Tier Komponente ausgeführt werden. Für die Ausführung in der Datenbank wird es eine spezielle Version von ADO.NET geben, die höchst performanten „in-memory“ Zugriff auf die Datenbank gewährleisten wird. Wird eine eigene Komponetne im Middle-Tier des SQL Servers gehostet so bietet dieses ähnliche Möglichkeiten wie heutzutage COM+ Serveranwendungen. Man kommt so in den Genuss von eingebauten Transaktionen, Queuing und Sicherheit – quasi als kostenlose Beigabe. Das schöne daran: Wird ein Backup vom SQL Server gemacht, werden auch alle Einstellungen der Komponenten, die Queues usw. mitgesichert. Die Liste der Neuerungen könnte nun ewig weitergeführt werden. Hier ein kleiner Auszug:

• Es wird einen neuen Feldtyp „XML“ geben. Dieser kann optional einem XML –Schema zugeordnet werden. Im „SELECT“ kann der Inhalt des XML-Feldes einbezogen werden. Dies kann dann zum Beispiel so aussehen:

SELECT
   LastName,
   FirstName,
   EventsInfo::query('/root/events') as Events
 FROM tbXmlTest

• Es wird möglich sein mit einer .NET-Sprache eigene Datentypen zu erstellen.

• Es werden rekursive SQL-Kommandos und neue relationale Operatoren (pivot, unpivot, apply) unterstützt.

Wie gesagt die Liste ließe sich noch um etliche Punkte erweitern. Eine Zusammenfassung bietet Holger Schwichtenberg auf seiner Homepage an.

Das war die TechEd Europe 2003. Nächstes Jahr findet die TechEd vom 28.06 bis 02.07 in Amsterdam statt.

An dieser Stelle verabschiede ich mich. falls meine Kommentare Fragen aufgeworfen haben, bitte ich diese an Neno.Loje@stundentprogram.de zu schicken.

Bis zur nächsten Konferenz.

TechEd 2003: Der 4. Tag

Tech·Ed Home

Donnerstag, 3.07.03

Ich habe festgestellt, dass es an Unmöglichkeit grenzt alle Angebote der TechEd zu nutzen… als sei es nicht schon schlimm genug, dass man sich zwischen bis zu 13 parallel laufenden Sessions entscheiden müsste (wobei natürlich die, die einen am meisten interessieren alle gleichzeitig stattfinden), so muss man gänzlich Sessions ausfallen lassen um zum Beispiel dem Ausstellerbereich einen Besuch abzustatten. Dies war dann auch mein heutiges Ziel, die Aussteller „abzuklappern“ und ohne dass ich es so geplant hätte nahm dies praktisch den gesamten Tag ein… vielleicht war ich auch nur zu neugierig oder war es doch das eine oder andere Gewinnspiel zu viel, an dem ich – motiviert durch meinen gestrigen Gewinn – teilgenommen habe.

Immerhin gab es auch eine beinahe schon revolutionäre Nachricht: Das WLAN ging heute (fast) überall (beinahe) ohne Abstürze! Eigentlich eine Selbstverständlichkeit; doch im Laufe der letzten Tage verlor auch der letzte Besucher den Glauben daran…

TechEd-Party

Bereits im Vorfeld hatte ich von dem einen oder anderen TechEd-Guru, der die letzten x Jahre schon dabei war, diverse Gerüchte über die – beinah schon „legendären“ – TechEd-Partys gehört und obwohl ich eine ganze Zeit lang daheim in  Deutschland mein Geld mit der Organisation von Veranstaltungen verdient hatte, so war ich doch schon erstaunt, wie eine von Microsoft organisierte Party aussieht. Nur drei Stunden (20 bis 22 Uhr) sollte der Spaß gehen und 6.000 Gäste sollten alle auf Ihre Kosten kommen… schon nicht ganz einfach… ach ja und etwas Besonders sollte es auch sein; schließlich handelt es sich um das 10-Jährige Jubiläum.
Das Resultat: Im Außenbereich gab es für aktive ein Volleyballfeld (wobei sinnigerweise der Ball zu späterer Stunde gegen einen größeren ausgetauscht wurde, da der eine oder andere ihn nach einigen Bier nicht mehr getroffen hätte…), Tischkicker und ähnliche Spaßmaschinen. Wen der Tag zu sehr mitgenommen hatte, der konnte sich auch ganz bequem in eine Art Café setzen. Zwei der Hallen, die tagsüber für Vorträge genutzt werden, wurden zu einmal einem Kino und zum anderen einer X-BOX-Spielhalle umgebaut. Traditionell gibt es auf diesem Partys immer ein Konzert. Manchmal sogar von recht bekannten Interpreten (Brian Adams). Für das Jubiläum war man sich wohl uneinig und so lud Microsoft schlichtweg (fast) alle Bands der letzten neun Jahre ein. Allerdings wurden die richtigen Größen wie Brian Adams durch Doubles ersetzt. Doch hatte der Mix aus sieben Bands in drei Stunden eher einen negativen Effekt auf die Stimmung, wenn man bedenkt, dass so jeder Band nur knapp 20 Minuten zzgl. einer Umbaupause zur Verfügung standen.

Für die Beköstigung der Teilnehmer gab es eine Essens-Halle, die voll mit diversen Ständen (Hot Dogs, Pizzen, etc.) ausgestattet war. Auffällig war, dass es zu bestimmten Zeiten mehr Personal als Gäste gab… das nennt man Service. Kaum hatte man den letzten Bissen runtergeschluckt, schon war der Pappteller weggeräumt. Ein Schritt zurück weg von dem Stettisch und der Tisch wurde blitzschnell desinfiziert, bevor der nächste Gast anrückte… Wahnsinn. Für die Getränke, und bei manchen auch die Stimmung, waren mehrere Bars (im Konzertsaal und nebenan) sowie eine Karaoke-Bar zuständig. Dem einen oder anderen stieg die Stimmung durchaus auch zu sehr in den Kopf (das Erste-Hilfe-Team und der fest stationierte Krankenwagen leisteten ganze Arbeit). Aber mal ehrlich: hätte man auf die winzigen Kurzen-Gläser mit blauer Flüssigkeit nicht draufschreiben, dass es sich um puren Wodka handelt…

with 0 Comments

TechEd 2003: Der 3. Tag

Tech·Ed Home

Mittwoch, 02.07.2003

C# Best Practises

Nach dem ich es nach mehrmaligen Versuchen aus dem Bett geschafft hatte, besuchte ich mehrere Sessions von Juval Löwy (www.idesign.net), einer so genannten “Software Legend“. So nennt Microsoft bei der diesjährigen TechEd einige ausgewählte Sprecher. In dem ersten Vortrag mit dem Titel „C# Best Practises“ ging es um mehrere voneinander unabhängige Themen. So diskutierte er über die richtige Strategie um Klassen zu schreiben, die Resourcen benutzten, welche freigegeben werden sollen. Dazu bietet das .NET Framework die IDisposable-Schnittstelle. Leider gibt es Szenarien, in denen dies nicht so einfach ist und gerade bei Klassenhierarchien ist Vorsicht geboten. Sehr interessant fand ich den Teil, wo Juval Löwy zwei Stellem aus der MSDN Library zitierte, die die Verwendung der Methode „Thread.Abort“ zum Beenden von Threads beschreibt.

Zitate:
Raises a ThreadAbortException in the thread on which it is invoked, to begin the process of terminating the thread. Calling this method usually terminates the thread.
>> The thread is not guaranteed to abort immediately, or at all.
Im Klartext heißt dies: Machmal klappt’s und manchmal nicht. Das schlimme daran: Es stimmt. Es klappt wirklich nicht immer. Nur manchmal halt. Natürlich bot er gleich eine Lösung für das Problem an. Interessierten sei hier ein Beispielprojekt auf seiner WebSite empfohlen.
http://www.idesign.net/idesign/uploads/KillThread.zip.

Visual Studio .NET 2003 Tips & Tricks

Im zweiten Vortrag hat er einige mehr oder weniger nützliche, oft unbekannte Features der Visual Studio .NET 2003-IDE vorstellt. Oder hättet ihr gewusst, dass man mit gedrückter ALT-Taste rechteckige Markierungen im Code mit der Maus ziehen kann?!

Feedback

Nun kommt das unglaubliche. Ich glaube ich hatte bereits erwähnt, dass man nach jeder Session an einem Feedback-Terminal einen Fragebogen ausfüllen sollte in dem zum Einen das Thema an sich und zum anderen die Fähigkeiten des Referenten bewerten konnte. Dies war durchaus nicht verpflichtend, jedoch mit einem Gewinnspiel verbunden, und ich muss zugeben dies bisher auch nur zwei Mal getan zu haben. Umso überraschender kam für mich der Hinweis von Patrick Lorenz (MVP, Autor bei dotnetpro), dass er meinen Namen in einer E-Mail mit dem Gewinner gesehen hätte. Und in der Tat fand ich in meinem TechEd-Posteingang folgende Mail:

> The winner of Session Feedback prize draw for the Jul 1 2003
> 3:15PM timeslot is Neno Loje (654373).
>
> Message brought to you by Microsoft SQL Notification
> Service at TechEd Europe 2003
> http://web.mseventseurope.com
>
> ©2003 Microsoft Corporation. All rights reserved. Terms of
> Use. Privacy Statement

Wow. Ich gehöre auch zu denen, die so gut wie nie etwas gewinnen und wenn doch dann eine Packung Kaugummis. Und was ich hier gewonnen hatte kann sich sehen lassen. Einen nagelneuen Pocket PC von HP (iPAQ 5450) mit Farbdisplay, WLAN, Fingerabdrucksscanner und allen anderen Schickanen, die es so gibt. Ehrlich gesagt hatte ich den Hype um PDAs, Palms, Pocket PCs und wie sie nun alle heißen nie wirklich verstanden. Natürlich ist es super immer seinen eigenen Terminkalender bei sich zu haben, aber dafür gleich ein so teures Gerät. Nun denn, heute kann ich es jedem wärmstens Empfehlen. Mit der richtigen Software ist man für alle Situationen gewappnet. Nun habe ich immer den Stadtplan der wichtigen Städten Deutschlands, einige Wörterbücher, eine Weltzeituhr und das eine oder andere Spielchen, wenn ich mal auf jemanden warte immer in meiner Brusttasche. Damit aber nicht genug. Mit Visual Studio .NET 2003 und dem .NET Compact Framework kann ich mir selber kurz ein kleines Programm schreiben, wenn mir etwas fehlt. So machen moderne Technologien Spaß.

Viele Kollegen waren spontan so neidisch auf meinen Gewinn, dass sie das Gerät zu einem Vorzugspreis im Windows Mobile Shop direkt auf der TechEd erstanden (am Abend gab es bereits keine mehr…).

with 0 Comments

"Sealed" ist gut!

Als ich entdeckt hatte, dass die .NET ImageList für ein Image kein Key mehr speichert, war die Situation für mich klar: Es musste eine eigene Ableitung her, die mir den aus VB6-Zeiten gewohnten Komfort wieder ermöglicht. Dann die große Überraschung: Die Klasse ImageList ist "sealed" (VB.NET: NotInheritable) und somit kann man von dieser auch nicht ableiten.

Mein Unverständnis legte sich nachdem ich den Artikel "Sealed" is Good! von Ingo Rammer gelesen hatte. Danach wird einem klar, dass "sealed" alles andere als Böse ist und .NET ohne eine "sealed"-ImageList möglicherweise ähnliche Performanceprobleme wie Grafikbibliotheken anderer VMs haben würde.

with 0 Comments