Computer & Technik

Betriebssysteme

Windows

Die Windows applikation

Damit wären wir beim eigentlichen Thema, dem Schreiben einer WIN­DOWS-Applikation und damit beginnen die Probleme. Gleich zu Anfang tappt wohl jeder in eine böse Falle: Das wohlvertraute Symbol "'", mit dem unter Turbo-Pascal bekanntlich Strings eingeklammert wer­den, erzeugt unter TPWin einen Compiler-Fehler. TPWin unter­scheidet zwischen der exakt senkrechten Variante und der bisheri­gen. Tippt man das Zeichen wie gewohnt mit der Tastatur ein, er­zeugt WINDOWS aufgrund des ANSI-Zeichensatzes zwar das richtige Zeichen, doch das mag TPWin nicht leiden. Man muß explizit <Alt 39> eingeben. Nur so läßt sich der Compiler überreden.

Daneben finden sich weitere Kuriositäten. Denn MS-WINDOWS ist in MS-C geschrieben ist alle Textausgaben, die über das WINDOWS-GDI laufen, müssen Strings im C-Format übergeben. D.h. kein führendes Längenbyte, dafür aber ein abschließendes #0. In Turbo-Pascal für WINDOWS wurde mit PChar ein spezieller Type für diese Form der Strings eingeführt, sowie Konvertierungs-Rou­tinen, die Pascal-Strings in C-Strings umwandeln und umgekehrt. Diese finden sich in der Unit STRINGS.

Die Konvertierung ist für 'C'-Profis nichts neues:

VAR
  P  : PChar;
  S  : STRING;
  C  : ARRAY[0..BELIEBIG] OF CHAR;

P :=  StrPCopy(C, S);

Als Ergebnis steht in P ein Zeiger auf die Zeichenkette, die di­rekt an TextOut übergeben werden kann. Wichtig ist, daß in C genü­gend Speicherplatz für die Konvertierung zur Verfügung steht.

Der gegenläufige Vorgang ist etwas einfacher:

S := StrPas(P);

Sind diese Klippen genommen, kann das eigentliche Programmieren beginnen und es erhebt sich die Frage, aus welchen Teilen besteht ein MS-WINDOWS-Programm. Um dies zu beantworten, muß man sich klarmachen, daß MS-WINDOWS ein quasi objekt-orientiertes System ist. Der Dreh- und Angelpunkt ist das Fenster. Jedes (normale) WINDOWS-Programm muß ein Fenster haben. Es gibt zwar auch Ausnah­men davon, jedoch sind diese sehr selten. Charles Petzold hat be­spielsweise einmal ein Programm geschrieben, das den jeweils aktu­ellen freien Speicherplatz in einem ICON ausgibt. Dieses Programm benötigt kein Fenster, denn alle Ausgaben erfolgen im Programm-ICON. Ein ebenso raffinertes wie seltenes Programmierkunststück­chen.

Das Fenster ist das Hauptobjekt, das wiederum aus weiteren Objek­ten besteht. Als da wären: Titelleiste, System- und Anwendungs­menüleiste, Bildlaufleisten und andere Elemente zur Steuerung des Fensters. Jedes Objekt sollte als Teil des übergeordneten Fensters und nicht als Teil des Bildschirms betrachtet werden.

Der Zugriff auf die einzelnen Objekte erfolgt über Handles. Hand­les sind eine Art der Adressierung von zu modifizierenden oder zu benutzenden Objekten. Betrachten Sie Handles als eindeutige 16-Bit-Zahl, die den Objekten einen eindeutigen Namen zuteilt. Nach dem Erzeugen eines Handles auf ein Objekt, können Sie dieses mit Hilfe seiner Handle jederzeit ansprechen. Der Vorteil dieser Me­thode besteht darin, daß ein Handle nicht mit einer bestimmten Speicherstelle verbunden ist, sondern mit einem Objekt. Dadurch erlangt WINDOWS die Möglichkeit, Daten- und Codebereiche frei zu verschieben. Der offensichtliche Nachteil dieser Methode besteht darin, daß vor jedem Zugriff auf einen Datenbereich zunächst über ein Handle die Adresse des jeweiligen Blocks von WINDOWS erfragt werden muß.





Sachgebiet


© 2009-2012 by Alojado Publishing. Alle Rechte vorbehalten. Ausgewiesene Marken gehören ihren jeweiligen Eigentümern.
Mit der Benutzung dieser Seite erkennen Sie die Nutzungsbedingungen und die Datenschutzerklärung an. Der Betreiber übernimmt keine Haftung für den Inhalt verlinkter externer Internetseiten.
Seite erzeugt 2012-02-22 22:09:20 von textarchiv.alojado.de