19.01.2015 Aufrufe

Anwendungsentwicklung für Symbian OS

Anwendungsentwicklung für Symbian OS

Anwendungsentwicklung für Symbian OS

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Das Makro TRAP bzw. TRAPD stellt einen Mechanismus zur Verfügung, der<br />

mit dem Exception-Handling in anderen Programmiersprachen vergleichbar<br />

ist. Der erste Parameter ist dabei eine Variable, in der ein Fehlercode gespeichert<br />

wird. Der zweite Parameter ist die auszuführende Funktion. Eine<br />

Funktion kann mittels USER::LEAVE() die normale Ausführung beenden<br />

und die Exception-Behandlung anstoßen. Als Programmierkonvention gilt es<br />

Funktionen, die solche Fehler auslösen können, mit einem L am Ende des<br />

Funktionsnamens zu kennzeichnen. Das __ASSERT_ALWAYS-Makro überprüft<br />

anschließend, ob die in TRAPD ausgeführte Funktion einen Fehler zurückgeliefert<br />

hat und reagiert entsprechend. Durch den Aufruf von User::Panic()<br />

wird eine Systemreaktion (Panic) ausgelöst. Dies führt dazu, daß der Kernel<br />

die Programmausführung stoppt und den kompletten zum Prozess gehörenden<br />

Speicher freigibt.<br />

Das eigentliche Verhalten der Anwendung wird durch die Befehle Printf()<br />

und Getch() des Konsolenobjekts realisiert. Printf() gibt dabei eine Zeichenkette<br />

auf der Konsole aus, während Getch() auf eine Benutzereingabe<br />

wartet und danach mit der Ausführung des Programms fortfährt.<br />

Der Parameter _L("Hello World!\n"), welcher Printf() übergeben wird,<br />

ist mit einem String-Objekt vergleichbar. In <strong>Symbian</strong> werden anstelle von<br />

Strings so genannte Deskriptoren verwendet. Diese entsprechen im Grunde<br />

einer String-Klasse und bieten ähnliche Funktionen an. Dazu zählt u.a. das<br />

Suchen von Zeichen oder der lexikographische Vergleich. Zur Erstellung von<br />

Deskriptoren existieren zwei Makros. Das Makro _L erzeugt einen Deskriptor<br />

ohne einen Namen dafür zu vergeben. Er kann so direkt als Parameter<br />

übergeben werden. Werden Deskriptoren an mehreren Stellen benötigt, ist es<br />

sinnvoll mittels _LIT 25 einen benannten Deskriptor zu erzeugen.<br />

4.4.2 Graphische-Anwendung<br />

GUI-Anwendungen 26 für <strong>Symbian</strong> basieren auf CONE 27 und EIKON 28 . CO-<br />

NE ist hierbei die zugrunde liegende Schicht, die eine Zeichenfläche auf<br />

dem Display bereitstellt und für die Eventbehandlung zuständig ist. EI-<br />

KON hingegen verwaltet das Look&Feel der Oberfläche. Die Komponenten<br />

von EIKON sind entsprechend austausch- und erweiterbar. So können Gerätehersteller<br />

die GUI-Komponenten ihrer Software anpassen und erweitern<br />

ohne tief in den Code des Betriebssystems einzugreifen. Auf der nächsten<br />

Schicht des Frameworks erben Klassen des UIKON-Frameworks von EIKON-<br />

25 _L bzw. _LIT steht dabei für Literal<br />

26 GUI: Graphical User Interface bzw. Grafische Benutzeroberfläche<br />

27 Control-Environment<br />

28 Griechisch für Aussehen, Form<br />

13

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!