Du bist hier:
Home
Montag, 22. Februar 2010
Schon vor langer Zeit habe ich mich erfolgreich vom F5-Build befreit :-) In den letzten beiden
Wochen habe ich wieder verstärkt an der Anpassung verschiedener Build-Prozesse gewerkelt und auch
meine lieben Kollegen in Sachen MSBuild gepimpt. Was mich heute dazu veranlasst hat, einige
Informationen zum Thema benutzerdefinierte Build-Tasks aufzuschreiben und hier zu veröffentlichen...
mehr...
Donnerstag, 12. November 2009
Visual Basic ermöglicht die Konvertierung vieler Datentypen in andere Datentypen –
dabei bleibt allerdings die starke Typisierung auf der Strecke. In der Zusammenarbeit mit Entwicklern im Projekt,
oder bei Trainings habe ich immer wieder festgestellt, dass dieses "tolle" Feature,
eher hinderlich als nützlich ist, da es negative Auswirkungen auf die Code-Qualität haben kann.
mehr...
Montag, 18. Mai 2009
Ich schreibe heute etwas über ASP.NET Server Controls. Das klingt wenig spannend, da es bereits dutzende
Blog-Beiträge zu diesem Thema gibt, aber es ist ein interessantes Thema und es begleitet mich gerade
im aktuellen Projekt. Einen Teil meiner Erfahrungen möchte ich hier in einer mehrteiligen Serie
zur Verfügung stellen. Im Fokus der Artikel steht die Anpassung und Erweiterung der Entwurfszeit von
Server Controls. Im ersten Teil geht es um die Verwendung komplexer Typen in Eigenschaften und
was man tun muss, um diese über das Markup der Seite zu initialisieren.
mehr...
Alles neu macht der Mai :-)
Freitag, 15. Mai 2009
So. Nun habe ich die Seite mit einem neuen Layout neu gestartet - ist etwas dunkler
geworden, aber mir gefällts. Ich werde mich disziplinieren und hier in der nächsten
Zeit wieder mehr Content reinstreuen, als das bislang der Fall war. Aber meistens
fehlt einfach die Zeit dazu... die Projekte gehen vor. Inhaltlich wird es sich natürlich
um Themen aus dem Bereich .NET-Entwicklung drehen - sollte sich in diesem Jahr noch Urlaub
ereignen, ist vielleicht auch das eine oder andere Foto dabei...
Mittwoch, 15. April 2009
Für ein Kundenprojekt habe ich eine Reihe von GUI-Komponenten entwickelt - eines davon ist ein MDI-Steuerelement, das untergeordnete Fenster in Form einer Reiterdarstellung organisiert, so wie es bekannte moderne Anwendungen erlauben.

mehr...
Mittwoch, 15. April 2009
Da ich derzeit wieder verstärkt Tools schreibe, die sich bequem
über die Konsole nutzbar sein sollen, habe ich mir eine winzige Library
geschrieben, die mir das Handling von Befehlen und Parametern erleichtert.
Eines der Tools ermöglicht den Zugriff auf Visual SourceSafe - wobei alle
nötigen Parameter wie folgt übergeben werden können.
vssman.exe /get:latest /vss -ini:"\\vss-share\srcsafe.ini" -user:matze -project:"$/vssman" -localPath:"C:\Projects\vssman"
Dabei ist erst einmal nicht so wichtig, was das Tool eigentlich macht, sondern
wie der CommandHandler die übergebenen Argumente aufbereitet. Ich habe dieses
Tool herausgegriffen, weil sich die Funktionsweise daran gut demonstrieren lässt.
Der Handler erzeugt aus den angegebenen Argumenten eine "Kette" - wobei
jedes Argument dem ein "/" vorangestellt ist (Befehl) als neues Glied hinzugefügt wird. Alle
Argumente, die mit einem "-" beginnen, werden als Parameter an das zuletzt
hinzugefügte Glied angehängt. Das sieht dann so aus...

In der Anwendung kann die verarbeitete Auflistung der Argumente so verwendet werden.
static void Main(string[] args)
{
ArgumentCollection arguments = new ArgumentCollection();
arguments.Initialize(args, null);
Argument vssGet = arguments.Find("get");
if ("latest".Equals(vssGet.Value))
{
}
}
Aber es geht natürlich besser; denn der Handler ermöglicht die Verwendung
benutzerdefinierter Argument-Klassen, die eine starke Typisierung und eine Verarbeitung
von Befehlszeilen ohne Fallunterscheidungen ermöglichen. Der Handler eignet sich
außerdem für Anwendungen, die durch Plugins erweitert werden können und deren Funktionen
auch auf der Kommandozeile zur Verfügung stehen sollen.
mehr...
Freitag, 27. März 2009
Haben Sie sich schon einmal gefragt, welche Funktionen eine Bibliothek (.lib) exportiert?
Manchmal beinhalten Bibliotheken versteckte Methoden, die in einer mitgelieferten Header-Datei nicht
enthalten sind, oder Sie möchten einfach die Syntax der Funktionen in der Header-Datei mit der
Bibliothek vergleichen.
mehr...