Posts Tagged ‘Debug’

Nachladen des Originalbildes

Freitag, Dezember 14th, 2012

Kurz vor den Feiertagen ist heute die wohl letzte Version für dieses Jahr vom BVASystem fertig geworden. Die letzten beiden Wochen habe ich hauptsächlich damit verbracht, das in den Darstellungen der Bilder das Originalbild nachgeladen werden kann. Außerdem habe ich Änderungen an den Debugausgaben und den Fehlermeldungen vorgenommen. Zu guter letzt habe ich meine Testanwendung soweit erweitert, das dort nun die erste BVASystem-Funktion getestet werden kann.

Nachladen des Originalbildes

Damit  Bilder schneller angezeigt werden können, arbeitet das BVASystem mit einem kleineren Vorschaubild. Dieses ist von der Größe so gewählt, das es ausreicht um Bilder im „Zoom-Fit“ in guter Qualität darzustellen. Bisher hatte ich es allerdings versäumt, das beim Wechsel des Zoom-Modus das Originalbild nachgeladen wird. Jetzt ist es so umgesetzt, das wenn das Originalbild eine bessere Qualität bringen würde als das vorhandene Vorschaubild, dann wird im Hintergrund das Originalbild geladen. Während des Ladevorgangs bekommt der Anwender weiterhin das Vorschaubild angezeigt und kann in diesem beliebig navigieren. Sobald das Originalbild fertig geladen ist, wird die Ansicht aktualisiert. Als Anwender bemerkt man, das die Qualität plötzlich besser wird. 

Damit sichtbar ist, welches Bild gerade angezeigt wird, ist im oberen Bereich neben dem Bildtitel ein Knopf/Informationsbereich angebracht. Folgende 4 möglichen Bilder können dort angezeigt werden:

Vorschaubild wurde geladen Das Vorschaubild wurde geladen. Mit einem Druck auf das Bild, kann das Originalbild geladen werden.
 Originalbild wird geladen Das Originalbild wird gerade geladen.
 Originalbild wurde geladen Das Originalbild wurde geladen.
 Nachladen des Originalbildes ist nicht möglich Das Nachladen des Originalbildes ist nicht möglich, da die Bildgröße des Originalbildes nicht bekannt ist. Mit einem Druck auf das Bild erscheint ein Hinweisdialog, der beschreibt wie dieser Fehler beseitigt werden kann.

Veränderungen an den Debugausgaben

Für eine spätere Änderung die ich vorhabe, war es notwendig die Funktion zur Ausgabe von Debug-Informationen anzupassen. Hauptsächlich ging es mir dabei um die Tatsache, das wegen der geöffneten Dateien, das BVASystem nur einmal gestartet werden konnte. Im Zuge dessen habe ich aber gleich weitere Änderungen einfließen lassen. 

  • Neu: DBLog-Funktion – Hier werden die an die Datenbank gesendeten SQL-Befehle in eine Datei geschrieben
  • Neu: Die Debugfunktionen können nun im Hauptmenü unter „Hilfe“ jederzeit ein- und ausgeschaltet werden
  • Geändert: Fehlerdialoge sind nun auch aus den Hintergrund-Threads möglich
  • Geändert: Startparameter – Hier können nun die Parameter „-trace“ und „-dblog“ verwendet werden. 
  • Neu: Silentmode – Hier werden die Fehlermeldungen nicht angezeigt, können allerdings mit „GetLastError“ abgefragt werden (Habe ich für die automatische Testung benötigt)

Erweiterung der Testanwendung

Die letzten Tage habe ich dann noch ab der Anwendung zur automatisierten Testung weitergearbeitet. Dort bin ich nun soweit, das eine erste Funktion des BVASystems (das Herstellen der Datenbankverbindung) getestet werden kann. Dabei habe ich mit Absicht einen Fehler provoziert, damit ich sehen kann, ob der umgesetzte Silentmode der Fehlerbehandlung funktioniert. Bisher ist es allerdings noch nicht möglich, der zu testenden Funktion Parameter mit auf den Weg zu geben. Daran werde ich in der nächsten Zeit weiterarbeiten. 

Ausblick

Für die nächste BVASystem Version steht wieder eine größere und für mich wohl schwierige Änderung auf dem Plan. Und zwar werde ich die Bildladefunktion für die Miniaturbilder anpassen. Bisher werden nacheinander immer alle Bilder nacheinander geladen. Mein Ziel ist es, das nur noch die geladen werden, welche auch zur Anzeige benötigt werden. Dadurch möchte ich Zeit und vor allem Speicherplatz einsparen. Außerdem werde ich wohl damit beginnen, mir ein Konzept zu überlegen, wie ich eine Schlagwortfunktionalität in das BVASystem integrieren könnte. Und zu guter letzt seht natürlich die Weiterarbeit an der Testanwendung mit auf dem Plan.