Home  |  Über den Autor  |  Impressum  |  .NET Developer Group Braunschweig  |  AX Solutions

RSS 2.0 | Atom 1.0 | CDF | Send mail to the author(s)  
 Monday, March 08, 2010

Der folgende Blogeintrag stammt von Waldemar Cichon, einem Mitglied der .NET Developer Group Braunschweig. Waldemar hat bei einer unserer Verlosungen eine Lizenz vom Report Sharp-Shooter gewonnen und sich gewogen gefühlt einen Erfahrungsbericht darüber zu schreiben. Da Waldemar kein eigenes Blog hat, stelle ich seinen Artikel als Gastbeitrag in meinem Blog bereit:

 

Report Sharp-Shooter for Silverlight

von Perpetuum Software (www.perpetuumsoft.com).

Durch einen Zufall gewann ich eine Lizenz des Report Sharp-Shooters. Da meine bisherigen Erfahrungen mit Reportwerkzeugen sich auf Crystal Reports sowie aus ganz alten Tagen mit Quick Report in Delphi beschränken und ich mich nie so richtig mit ASP.NET in Verbindung mit Ajax anfreunden konnte freute ich mich. Bis zu dem Zeitpunkt habe ich schon meine ersten Erfahrungen mit Silverlight gemacht (Versionen 2. und 3.) und es gefiel mir sehr. Jedoch gehören zu den meisten kommerziellen Anwendungen Druckausgaben zwingend dazu, also kam die Report Sharp-Shooter-Lizenz wie gerufen.

Aber fangen wir mal bei Adam und Eva mal an.

Nachdem die Firma Adobe mit ihrem Flash-Plugin sehr große Erfolge als RIA-Plugin (Rich Internet Application) im Worldwide Web erzielen konnte begeben sich Microsoft mit dem eigenem Produkt Silverlight sowie SUN (oder muss man bereits Oracle schreiben?) mit Java FX auf Kriegspfad gegen Adobe. Derzeit ist die Erfolgsrate noch nicht umwerfend – gegenüber fast hundertprozentiger Anwesenheit von Flash setzt Java FX als auf Java aufsetzendes Plugin mit ca. 75% entgegen sowie Microsoft mit immerhin mittlerweile über 50%.

Silverlight ist ein kleinerer Bruder des WPF (Windows Presentation Foundation). WPF ist eine neue, auf XML basierende deskriptive Methode der GUI-Implementierung bietet. Silverlight wird als ein Plugin auf dem Client-Rechner installiert und unterstützt mittlerweile die wichtigsten Browser unter Windows und Mac-OS. Unter Linux wird von das von Microsoft unterstützte Moonlight als kompatible Alternative angeboten. Musste man noch unter der Version 1.x mit Javascript auf der Client-Seite begnügen, programmiert man seit 2.0 sowohl auf der Client- wie auf der  Serverseite in einer der beiden Haupt-DotNet-Sprachen. Somit steht einem .NET-Programmierer nichts mehr im Wege, seine Anwendungen komfortabel ins WWW zu portieren. Er muss sich nicht mehr mit HTML, Javascript und AJAX herum ärgern sondern kann die komplette Programmierung in der Sprache seiner Wahl (C# oder VB.NET) abwickeln.
Damit kann er dann sehr anspruchsvolle Internetanwendungen entwickeln, die einfacher zu programmieren und viel näher an Winforms liegen als unter ASP.Net. Diese erreichen sogar unter Einsatz von Ajax nicht den Bedienkomfort einer Silverlight-Anwendung.

Will man dem Benutzer jedoch basierend auf seinen Eingaben eine ansprechende und druckbare Ausgabe liefern, womöglich Statistiken visualisieren oder mathematische Zusammenhänge in Graphen darstellen, wird er von seinen derzeit erfolgreich eingesetzten Produkten meist im Stich gelassen. Darüber hinaus wirkte Crystal Reports, das mit Visual Studio ausgeliefert wurde, nie richtig integriert.
Eine Lösung für dieses Problem wird von der bisher noch nicht sonderlich in Erscheinung getretene Firma Perpetuum Software geboten. Sie ist vollständig in C# geschrieben und fügt sich harmonisch in die Programmumgebung ein.
Das Programmpaket gibt es in zwei Versionen – einer älteren, die für Programme unter ASP.NET  1.1 und 2.0 lauffähig sind, geschrieben wurde. Mich interessierte die neue Version, die Silverlight Version 3.0 voraussetzt. Zwar ist beim Download-Link noch die Version 2.0 von Silverlight aufgeführt, bei den Anforderungen in der Dokumentation ist aber von der aktuellen Version 3.0 die Rede.
Im Lieferumfang befinden sich außer dem Framework, das die Klassen zur Ausgabe und Formatierung von Reports und Charts beinhaltet sowie dem Report-Editor, der komfortabel aus dem Visual Studio aufgerufen wird zwei Import-Programme, die das Konvertieren von bestehenden Crystal Reports und Active Reports-Dateien in native Sharp-Report-Shooter-Dateien ermöglicht. Dadurch erspart man sich in vielerlei Fällen die erneute Editierung von bereits bestehenden Listen und Charts.

Durch die Integration des Editors in die Toolbox von Visual Studio kann man ihn schnell und ohne Aufruf von externen Programmen erreichen. Die Reports bauen direkt auf einem DataSet auf und  beinhalten die dort entnommene Tabellen und deren Felder. Somit können dort die gleichen Steuerungs- und Filtermechanismen wie auch bei der „gewöhnlichen“ Programmierung eingesetzt werden.
Die Möglichkeiten erschließen eine sehr große Bandbreite. Von üblichen Reports, die man für Angebote, Rechnungen und übliche Listen einsetzen kann, über automatische Gruppierungen sowie Master-Slave-Reports bis zu OLAP und Pivot-Tabellen sind einem alle Möglichkeiten der Datenausgabe und -konsolidierung geboten und dieses weitestgehend fast ohne Programmierung. Die Reports können durch Barcodes, Bilder, diverse 2- und 3-dimensionale Charttypen bis hin zu Instrumenten-Abbildern angereichert werden.
Natürlich möchte der Benutzer gerne auch die Ergebnisse auf Papier sehen oder sie per Mail versenden. Auch hier gibt sich das Paket keine Blöße: obwohl der Ausdruck seitens Microsoft erst ab der kommenden Version 4.0 möglich sein wird, kann der Sharp-Shooter ohne Probleme seine Bildschirmausgabe auch auf dem angeschlossenem Drucker zu Papier bringen. Benötigt man die Ausdrucke in elektronischer Form, ist der Export in alle heutzutage für den Zweck üblichen Formate möglich. Angefangen von PDF sowie deren Microsoft-Pendant XPS über HTML und RTF bis hin zur Excel sowie der rein textlichen Ausgabe in CSV oder ein Plain-Text-File.

Fazit: Die Programmierer von Pertuum-Software haben beim Report Sharp-Shooter ganze Arbeit geleistet und haben ein rundum solides Werkzeug für die Reportausgabe im Internet geschaffen.
Ob die Software auch im harten Alltag das Versprochene hält, konnte ich angesichts der Kürze des Tests nicht evaluieren. Daher erfolgt nach einiger Zeit ein weiterer Artikel, bei dem ich auf die Einzelheiten, Probleme und Lösungen eingehen werde.

posted on 3/8/2010 12:16:55 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]

 Wednesday, August 13, 2008

Neulich habe ich an einem WPF-Projekt gearbeitet und plötzlich wurde mir obige Fehlermeldung im WPF-Designer angezeigt. Komisch, da ich bevor mir der Fehler angezeigt wurde nichts am XAML verändert hatte. Nachdem Rebuild und Neustart von VS2008 und Rechner nichts gebracht hat, habe ich bei Google den Hinweis gefunden, dass eventuell das Löschen der *.suo Datei (Visual Studio Solution User Options) helfen könnte. Was es dann auch tat :)

Einen Tag später hatte ich einen ähnlichen Fehler, nur das diesmal Visual Studio 2008 sofort abschmierte wenn ich es wagte eine XAML-Datei zu öffnen. Hier half nur vor dem Öffnen der XAML-Datei die Solution komplett neu zu builden.

Ich hoffe, dass solche Fehler nach der Installation von .NET 3.5 SP1 diese Fehler nun nicht mehr auftauchen. Ich bin gespannt...

posted on 8/13/2008 7:44:10 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]

 Thursday, March 20, 2008

Ich hatte gerade einen sehr interessanten Fehler in Visual Studio. Beim Starten meiner Webapplikation öffnete sich immer UltraEdit anstatt des Internet Explorers:

 

UltraEdit und VS 2008

 

Die Dateiverknüpfungen in UltraEdit und VS 2008 waren alle so wie sie sein sollten. Es war nix zu finden, was daraufhin deutete warum nun UltraEdit versucht einen Url als Dokument zu öffnen.

Fehlermeldung:

C:\Program Files (x86)\UltraEdit\hhtp:\\localhost:5215\Default.aspx enthält eine ungültige Pfadangabe.

 

Die einfache Lösung die ich gefunden habe:

1) VS beenden

2) UltraEdit.exe umbenennen

3) VS starten

4) Webapplikation starten

5) UltraEdit.exe umbenennen rückgängig machen

 

komisch, komisch...

posted on 3/20/2008 5:08:25 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]

 Thursday, January 24, 2008

...aber nicht vom Flughafen, sondern in der Messe Frankfurt. Dort treffen sich vom 19. bis zum 21. Februar "ein paar" IT-Leute, um den Launch von  Windows Server 2008, SQL Server 2008 und Visual Studio 2008 zu feiern.

Die Agenda liest sich sehr beeindruckend. Es gibt 9(!) parallele Tracks, die für jeden Geschmack und Kenntnisstand etwas zu bieten haben.

Wie schon bei der XTOPIA in Berlin werde ich als "Ask The Expert" (ATE) für ASP.NET dabei sein. Ich freue mich schon auf die interessanten Gespräche, Bekannte zu treffen und das eine oder andere neue Gesicht kennen zu lernen.

See you in Frankfurt!!!

posted on 1/24/2008 1:58:04 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]

 Friday, July 20, 2007

Scott Gu hat einen netten Artikel über die neuen Debug-Möglichkeiten von JavaScript geschrieben. Das lässt einem AJAX-Programmierer doch glatt das Herz höher schlagen. Aber das beste ist:

"There are many more JavaScript and AJAX features coming in VS 2008 and .NET 3.5 that I'll be covering in future blog posts."

:)

posted on 7/20/2007 10:23:54 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]

 Thursday, March 01, 2007

Ich habe bei einem Projekt gerade ein "Problem", dass ich nicht wirklich nachvollziehen kann. Hier mal ein Codeschnipsel:

FileInfo fi = new FileInfo(licName);

if (fi.Exists == false)
{   
      throw new Exception("Die Lizenzdatei konnte nicht gefunden werden.");
}

fi.Exists liefert mir true zurück, trotzdem spring er in die Klammer und markiert die Exception!

Wenn ich anstatt des throw einfach eine Dummy-Zeile (z.B. string s="";) einsetze, dann geht er wie erwartet nicht in die Klammer. Scheint also tatsächlich was damit zu tun zu haben, das ich dort eine Exception feuere. Ich hab erst gedacht, das Visual Studio mal wieder aus dem Tritt gekommen ist, also Rechner neu starten! Der Fehler passiert aber auch nach einem Neustart immer noch.


Ich hab spaßeshalber die Bedingung mal auf true gesetzt und eine Dummy-Zeile eingebaut:

if (fi.Exists == true)
{   
      string s = "";
      throw new Exception("Die Lizenzdatei konnte nicht gefunden werden.");
}

In diesem Fall springt der Debugger richtigerweise auf die erste Zeile. Setze ich die Bedingung auf false, springt er direkt in die zweite Zeile zur Exception. Die Exception wird zwar nicht wirklich gefeuert, aber der Debugger markiert mir die Zeile.

Hat jemand dafür eine Erklärung?

NACHTRAG: Ich habe gerade mal eine weitere Dummy-Zeile vor der Exception eingefügt. Nun funktioniert es wie erwartet!?!

 

posted on 3/1/2007 9:24:18 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [2]

 Monday, November 06, 2006

Hier ist meine Top 10 der meistgenutzten Shortcuts für Visual Studio 2005. Vielleicht ist ja für den ein oder anderen etwas dabei, was er oder sie noch nicht kannte:

1.   Strg + Tab Fenster wechseln
2.   Strg + Leertaste Autovervollständigen / Intellisense
3.   Strg + Shift + V Clipboardring
4.   Strg + E, C Auswahl kommentieren
5.   Strg + E, U Kommentare entfernen
6.   Strg + K, M Methodenrumpf generieren
7.   Strg + K, X Snippet einfügen
8.   Strg + K, S Surround with
9.   Strg + . SmartTag anzeigen
10.   Strg + Shift + S Alles speichern.


Eine ausführliche Shortcutliste findet ihr hier.

posted on 11/6/2006 1:38:27 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [2]

 Thursday, October 26, 2006

Seit kurzem beschäftige ich mich mit der Team Edition für Software Architekten und eine der ersten Fragen, die sich mir stellte war, wie bzw. wann man damit auch Applikationen für WCF designen kann. Dank Christian Weyer  bin ich nun etwas schlauer: Die Unterstützung für WCF wird es erst in Orcas geben.

Alle die nicht so lange warten wollen oder können sollten einen Blick auf die Web Services Software Factory werfen.

posted on 10/26/2006 9:16:21 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]

 Tuesday, October 24, 2006

Ich arbeite gerade an einem kleinem Demo-Projekt, dass ich mit Visual Studio Team System for Software Architects erstellt habe. Ich habe dafür auch ein LogicalDatacenter Diagramm angelegt. Als ich ein paar Einstellungen festlegen wollte musste ich mit Schreck feststellen, dass das Fenster "Settings and Constraints" nicht mehr vorhanden war. Keine Problem dachte ich mir, schnell über View --> Other Windows --> Settings and Constraints das Fenster wieder aufmachen....hmm, nix passiert? Rechte Maustaste auf den Endpoint --> Settings an Constraints geklickt und.....wieder nix?
Das Fenster liess sich einfach nicht mehr anzeigen. Ok, keine Panik. VS schliessen und Solution wieder öffnen.....hmm, funzt immer noch nicht :(
Erst als ich eine komplett neue Distributed System Solution angelegt hatte war das Fenster wieder da und blieb auch, als ich meine ursprüngliche Solution wieder eingeladen habe.

Scheint wohl ein Bug in VS zu sein. Wenn jemand einen eleganteren Weg kennt das Fenster wieder herbei zu "zaubern", dann lasst es mich bitte wissen.

posted on 10/24/2006 3:39:31 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]