vorheriges KapitelInhaltsverzeichnisStichwortverzeichnisFeedbacknächstes Kapitel


Woche 3 im Rückblick

Sie haben es geschafft! Nunmehr verfügen Sie über die Fertigkeiten, sich den meisten Programmieraufgaben mit Visual C++ unter Windows anzunehmen, ausgenommen diejenigen, die spezielle Kenntnisse erfordern. Obwohl es noch viel zu lernen gibt, haben Sie den größten Teil der Themen in einer sehr kurzen Zeit abgehandelt. Von hier aus werden Sie sich wahrscheinlich einem oder zwei spezielleren Bereichen der Windows-Programmierung - zu denen selbst ganze Bücher erschienen sind - widmen, da Sie momentan über ein umfangreiches Allgemeinwissen verfügen.

Für den Fall, daß Sie noch nicht alle Themen beherrschen, empfiehlt es sich, daß Sie noch einmal an Ihren eigenen Anwendungen arbeiten und das Gelernte hier ausprobieren. Das hilft Ihnen, die Bereiche herauszufinden, die Sie vielleicht wiederholen sollten, bevor Sie sich komplizierteren Themen zuwenden. Sehen wir uns zur Sicherheit noch einmal kurz an, was Sie in der letzten Woche gelernt haben.

Die Woche hat mit der neuesten Datenbanktechnologie von Microsoft, den ActiveX Data Objects (ADO), begonnen. Sie haben erfahren, wie ADO auf der Technologie OLE DB aufsetzt und dabei den Zugriff auf Datenbanken beträchtlich vereinfacht. Es wurde gezeigt, wie leicht sich eine Datenbankanwendung mit ADO als ActiveX-Steuerelement erstellen läßt und wie man sie mit bestimmten ADO-kompatiblen, datengebundenen ActiveX-Steuerelementen verbindet. Weiterhin haben Sie gelernt, wie man die DLL importiert und in den Code eintaucht. Dadurch können Sie vollständig Einfluß darauf nehmen, wie die Anwendung mit der Datenbank zusammenarbeitet. Es wurde gezeigt, wie man die einzelnen Felder eines Datensatzes im Recordset liest und schreibt, indem man sie aus und in den Datentyp Variant konvertiert. Darüber hinaus haben Sie Ihre eigene benutzerdefinierte Datensatzklasse entworfen und sie mit dem Recordset-Objekt gebunden, was Ihnen einen wesentlich bequemeren Weg zum Zugriff auf die einzelnen Feldwerte in der Datenbank eröffnet. Wenn Sie Probleme mit diesem Thema haben, sollten Sie Tag 15 wiederholen.

Sie haben drei verschiedene Arten der gemeinsamen Nutzung von funktionellen Modulen kennengelernt, die Sie mit anderen Programmierern entwickeln, ohne daß Sie den eigentlichen Code freigeben müssen. Als erstes haben Sie Ihre Module in Bibliotheksdateien untergebracht, die sich zu Anwendungen anderer Visual- C++-Entwickler linken lassen. Diese Lösung hat den Nachteil, daß bei Änderungen am Bibliotheksmodul alle Anwendungen, die auf das Modul zurückgreifen, neu zu erstellen sind. Sie haben gelernt, wie man diese Module erstellt, ohne daß spezielle Änderungen beim Schreiben des Codes erforderlich sind. Wenn Sie nicht mehr genau wissen, wie das alles zu realisieren ist, gehen Sie noch einmal zu Tag 16 zurück.

Die zweite Möglichkeit, um Funktionalität mit anderen Programmierern gemeinsam zu nutzen, ist das Erstellen von DLLs. Dabei haben Sie zwei verschiedene Arten von DLLs erstellt: Der eine Typ läßt sich nur von anderen Visual-C++-Anwendungen nutzen, der andere von beliebigen Anwendungen, unabhängig davon, mit welcher Programmiersprache sie erstellt wurden. Sie haben eine DLL erstellt, die andere Visual-C++-Programmierer nutzen können, ohne daß Sie gänzlich anders vorgehen mußten, um die Module zu entwerfen oder zu kodieren. Sie haben aber auch gelernt, daß Ihr Modul grundsätzlich anders aufzubauen ist, damit der Einsatz und die Interaktion in DLLs, die man mit allen Programmiersprachen einsetzen kann, gewährleistet sind. Es wurde gezeigt, wie man gewöhnliche Funktionsaufrufe als Schnittstelle für andere Anwendungen bereitstellt, wobei alle erforderlichen Informationen als Parameter an die Funktionen zu übergeben sind. Ein weiteres Thema waren die Definitionsdateien, die die Namen aller zu exportierenden Funktionen enthalten. Sehen Sie sich Tag 17 noch einmal an, falls Ihnen noch nicht alle Verfahren in diesem Themenbereich geläufig sind.

Der dritte und letzte Weg, um die Funktionalität Ihrer Module gemeinsam zu nutzen, ohne den eigentlichen Code freizulegen, war die Verpackung als ActiveX- Steuerelement. Sie haben mit dem Steuerelement-Assistenten und dem Klassen- Assistenten die Eigenschaften, Methoden und Ereignisse hinzugefügt, die für das Steuerelement erforderlich waren. Außerdem haben Sie gelernt, wie man die Eigenschaften des Steuerelements liest und schreibt. Die Eigenschaften haben Sie nach zwei unterschiedlichen Verfahren implementiert, und Sie haben gelernt, wie man den jeweils passenden Typ für die Eigenschaften des Steuerelements wählt. Es wurde gezeigt, wie man Ereignisse in der Containeranwendung vom Steuerelement aus auslöst, indem man das Ereignis im Code initiiert. Das Steuerelement haben Sie dann mit dem Testcontainer für ActiveX-Steuerelemente ausprobiert und dabei alle Methoden aufgerufen und die vorhandenen Ereignisse des Steuerelements abgefangen. Sie haben gesehen, wie man die Ereignisse überwacht, die das Steuerelement in der Containeranwendung auslöst, um zu gewährleisten, daß die Ereignisse zum richtigen Zeitpunkt ausgelöst werden. Wiederholen Sie Tag 19, falls Ihnen zu diesem Themengebiet noch etwas unklar ist.

Die gleichzeitige Ausführung von Aufgaben bildete einen weiteren Schwerpunkt der dritten Woche. Mehr und mehr moderne Anwendungen bieten eine derartige Funktionalität. Dabei haben Sie nicht nur gelernt, wie man mehrere Aufgaben gleichzeitig ausführt, sondern es wurden auch zwei unterschiedliche Lösungsmöglichkeiten dargestellt. Als erstes wurde die Funktion OnIdle behandelt und gezeigt, wie man sich in diese Funktion einklinkt, um die eigene Funktionalität auszulösen, wenn die Anwendung im Leerlauf arbeitet. Dabei wurde auch auf die Mängel dieses Verfahrens eingegangen, die sich zeigen, wenn man eine zweite Task in die Anwendung aufnimmt. Diese kann verhindern, daß der Benutzer auf die Anwendung reagieren kann. Die Hintergrundverarbeitung mußte in kleinere Teile zerlegt werden, die sich schnell ausführen lassen. Dazu war eine Möglichkeit herauszuarbeiten, wie man verfolgen kann, in welcher Phase die Task gerade arbeitet und wo sie die Arbeit aufnehmen muß, wenn die Anwendung wieder in den Leerlaufzustand gelangt.

Als zweites Verfahren, um einer Anwendung die Ausführung einer zweiten oder dritten Task zu ermöglichen, wurden separate Threads vorgestellt, die vollkommen unabhängig vom Thread der Benutzeroberfläche laufen. In diesem Zusammenhang haben Sie Callback-Funktionen kennengelernt, die die höchste Ausführungsebene für die Threads steuern, und wie man den Thread bei Bedarf starten und anhalten kann. Sie haben auch gesehen, wie diese unabhängigen Threads vollkommen losgelöst von der übrigen Anwendung arbeiten und wie sie weiterlaufen, selbst wenn die übrige Anwendung beschäftigt ist. Wenn Sie sich mit diesem Thema nochmals befassen möchten, gehen Sie zurück zu Tag 18.

Ein Bereich, der zunehmend Bedeutung gewinnt, ist das Erstellen von Internet-Anwendungen mit den Klassen der Winsock-Schnittstelle. Sie haben eine Anwendung erstellt, die eine Verbindung mit einer anderen Anwendung über ein Netzwerk eingeht und Nachrichten in beiden Richtungen austauscht. Wie beim Telefon muß die zweite Anwendung auf ein Verbindungsgesuch der ersten Anwendung hören. Es wurde gezeigt, wie einfach es ist, Nachrichten zu senden und benachrichtigt zu werden, wenn die Nachricht angekommen ist, nachdem die Verbindung zwischen beiden Anwendungen hergestellt wurde. Sollten sich in diesem Zusammenhang bei Ihnen Fragen ergeben, wiederholen Sie den Stoff von Tag 20.

Schließlich haben Sie den Webbrowser Internet Explorer von Microsoft in Ihre Anwendung ohne großen Aufwand integriert. Sie haben gelernt, wie man den Browser steuert, indem man den URL angibt, der zu laden und anzuzeigen ist. Es wurde auch dargestellt, wie man Informationen für den Benutzer sichtbar macht, was der Browser gerade ausführt und wann er beschäftigt ist. Falls Sie Ihre Kenntnisse zu diesem Thema auffrischen möchten, gehen Sie noch einmal zurück zu Tag 21.

Das war's. Sie haben es geschafft. Sie haben bei den Grundlagen begonnen und sich bis zu komplizierteren Themen - insbesondere in der letzten Woche - vorgearbeitet. Jetzt ist es an der Zeit, das Buch beiseite zu legen und aktiv in die Programmierung einzusteigen. Erstellen Sie auf der Basis des Gelernten eigene Anwendungen. Viel Glück. Wenn Sie Hilfe oder einen Rat brauchen, sollten Sie sich in den Newsgroups von Microsoft im Internet umsehen. Hier gibt es viele Gleichgesinnte, die sowohl kenntnisreich als auch hilfreich sind.



vorheriges KapitelInhaltsverzeichnisStichwortverzeichnisFeedbackKapitelanfangnächstes Kapitel


Ein Imprint des Markt&Technik Buch- und Software-Verlag GmbH.
Elektronische Fassung des Titels: Visual C++ 6 in 21 Tagen, ISBN: 3-8272-2035-1