Dies ist Version 1.01.007 des Dokuments. Die aktuellste Version kann von hier heruntergeladen werden. Autor und Empfänger von Korrekturbeiträgen: Carsten Witte. Es gelten die dokumenttypischen Copyrights.
Eine Übersicht über die Artikel in diesem Dokument. Absätze, die sich seit der letzten Version geändert haben, sind fett fortmartiert. Rechtschreibfehler und ähnliche Kleinigkeiten werden ohne besondere Erwähnung ausgemerzt.
Das MSDN, eigentlich korrekt die MSDN-Library, ist die Referenz für die Programmierer, die mit den microsofteigenen Applikationen wie dem DevStudio und Office arbeiten. Durch seine immense Größe ist es allerdings schwer zu durchschauen und nicht ganz so einfach zu handhaben. Dieses HOWTO soll einige Tips und Tricks zum richtigen Umgang mit dem MSDN vermitteln und ist speziell für MSVC-Programmierer geschrieben.
Zu erst muß man sich darüber klar werden, für welche Version des DevStudios man ein MSDN installieren will. Seit DevStudio.NET (DevStudio 7.0) hat sich die Struktur der MSDN Library leicht verändert. Es gilt folgende Faustregel:
• DevStudio 6.0 | MSDN bis October 2001 | (alt) |
• DevStudio.NET | MSDN ab January 2002 | (neu) |
Zur Installation einfach das Setup-Programm setup.exe
auf der ersten CD/DVD starten. Um eine
Installationsversion im Intranet zur Verfügung zu stellen, kann bis January 2002 das Programm
netcopy.exe
genutzt werden. In neuren Versionen ist der Windows Installer via
msiexec.exe
(unbedingt readme.html lesen) Tool der Qual. Sollten dabei Probleme auftreten,
hilft vielleicht
KB318453:
"The Network Install Point for the Installation of the MSDN Library Does Not Exist"
weiter.
Bei den heutigen Plattenpreisen empfiehlt es sich, eine Komplettinstallation des MSDN anzustreben. Bei akutem Platzmangel kann man jedoch mit kleineren Teilinstallationen beginnen und bei Bedarf jeder Zeit nachinstallieren.
Es können beliebig viele MSDN parallel installiert werden, sogar neue und alte Versionen auf der selben
Maschine. Obsolete Versionen können in der Systemsteuerung (Software) von Windows deinstalliert werden.
Eine Umschaltung zwischen den einzelnen Ausgaben erfolgt im Optionsmenü des
DevStudios unter dem Reiter Help System
.
In den Ausgaben von July 2000 bis October 2001 können die persönlichen Favoriten mit dem
Favorites Utility msdnfav.exe
, zu finden im Startmenüeintrag des MSDN, von Ausgabe zu Ausgabe
übernommen werden. In neuren Versionen werden die Favoriten zusammen mit den normalen Favoriten des
IE abgelegt.
Subsets oder Filter bieten die Möglichkeit, die Suche auf bestimmte Bereriche des MSDN einzuschränken. Im
alten MSDN konnte man eigene Subsetz im Menü View|Define Subset...
erstellen und
dann über Active Subset
eingestellen. Im neuen stellt man Filter im Menü
Help|Edit Filters...
ein und hat in den verschiedenen Suchmasken die Möglichkeit,
Filtered by:
einzustellen.
Besonders wichtig sind Filterkriterien, um zu vermeiden, daß man in der falschen Hilferubrik landet. So kommt es zum Beispiel ohne Subset oft vor, daß man in der Hilfe für Windows-CE landet. Windows-CE unterstützt aber viele Parameter nicht oder implementiert Funktionen schlicht anders.
Innerhalb der .NET Framework Class Library kann man über das kleine Filter-Symbol in der oberen rechten Ecke des Artikel einstellen, für welche Programmiersprache die Beispiele angezeigt werden sollen.
Installiert man sich ein neues SDK oder aktualisiert ein solches, muß man aufpassen, daß auch die Hilfe angeglichen wird. Das normale Setup erledigt dieses nicht. Gleiches gilt für Service-Packs.
Leider ist es nicht einfach möglich, zusätzliche SDK-Dokumentationen in die MSDN-Library zu integrieren.
Diese Hilfen werden meist über das Tool dexplore.exe
oder bei älttern Version über
dexplore.exe
angezeigt. Links für diese Aufrufe werden meist von den Installern erzeugt und
finden sich in den entsprechenden Programgruppen.
Beispiele:
"C:\Program Files\Common Files\Microsoft Shared\help\dexplore.exe" /helpcol ms-help://MS.PSDK.1033
"C:\WINNT\hh.exe" C:\MSVSTU~1\DDK\help\winddk.col
Um sich im MSDN zurechtzufinden, kann man auf vier Navigationshilfen zurückgreifen, die man entweder
über den Menüpunkt View|Navigation Tabs
oder den Toolbarbutton
Show/Hide
einblenden kann.
Tabulator | alt | neu | |
Contents | Alt+C | Strg+Alt+F1 | |
Hier findet man das Inhaltsverzeichnis des MSDN. Alle Artikel sind inhaltlich passend zu Gruppen zusammengefaßt und wenn man nicht genau weiß, was man will, findet man gar nix. Zudem neigt das MSDN-Team dazu, diese Gruppierungen bei jeder dritten Version neu zu mischen, was den Nutzen gen Null tendieren läßt. | |||
Index | Alt+N | Strg+Alt+F2 | |
Eine alphabetische Liste aller Stichworte, die das MSDN kennt. Hier wird jeder Befehl aufgelistet, jede Funktion und fast jede API. Sind hier Einträge in grau dargestellt, heißt das, das Stichwort ist bekannt, aber nicht Bestandteil des aktuellen Subset. Das Indexsuchergebnis kann im neuen DevStudio via Umschalt+Alt+F2 angesprungen werden. | |||
Search | Alt+S | Strg+Alt+F3 | |
Hier kann man Begriffe frei im MSDN suchen lassen. Leider ist die Suchsyntax sehr, sehr weit von regulären Ausdrücken entfernt. Als Operatoren stehen AND, OR, NOT und NEAR zur Verfügung. Wahrscheinlich das meistgenutzte Feature im MSDN. Und ein unverzichtbares zudem. Das Suchergebnis kann im neuen DevStudio via Umschalt+Alt+F2 angesprungen werden. | |||
Favorites | Alt+I | Strg+Alt+F | |
Hier kann man sich seine Lieblingsartikel im MSDN merken (siehe auch: Favoriten zwischen Versionen austauschen). |
Ist das MSDN korrekt als Hilfesystem für das DevStudio konfiguriert, kann man den Cursor auf das Wort setzten, für das man Hilfe benötigt und einfach die Taste [F1] drücken. Bei neueren Tastaturen ist diese Taste auch schon mal direkt mit [Help] beschriftet.
Im DevStudio.NET kann man sich mittels Ctrl-F1 die kontextsensitive Hilfe anzeigen lassen, was hin und wieder zu besseren Suchergebnissen führt.
Am Ende der meisten Hilfeseiten finden sich Links auf Funktionen, die sich im Umfeld der aktuellen Funktion bewegen, zum Beispiel die Get- zur aktuellen Set-Funktion.
Oft ist es auch interessant, sich Seiten im Umfeld der aktuellen Seite anzeigen zu lassen. Dazu gibt es in der Toolbar die Buttons [Previous] (Vorherige) und [Next] (Nächste).
Reicht einem die Hilfe zu einer Funktion nicht aus, oder man sucht Codebeispiele oder ähnliches, kann man den Funktionsnamen einfach nochmal in das Suchfeld übernehmen und das MSDN weiter durchforsten.
Hat man eine bestimmte Funktion gefunden, sucht aber eigentliche eine ähnliche, kann man sich durch den Toolbarbutton [Locate] den Kontext anzeigen lassen, in dem man sich bewegt. Dort findet man oft die gesuchte Funktion oder weiterführende Informationen.
Beispiel: Man weiß um die Funktion PathFindExtension, geht auf [Locate] und findet
alle Path* und URL* Funktionen.
Erhält man zu viele Sucherergebnisse, so kann man durch geschicktes Eingrenzen der Suche, genauere
Ergebnisse erzielen. Dazu zählen die Verwendung der Operatoren wie zum Beispiel NEAR, die Option
Search Titles Only
und das zusammenfassen von Worten mittels Gänsefüßchen, wie zum
Beispiel "Paul DiLascia"
.
Beispiel:
Suche nach "unresolved external symbol"
- ohne Anführungszeichen führt zu 93 Treffern
- mit Anführungszeichen 59 Treffer
- nur Titel durchsuchen 6 Treffer
Seit November 2002 werden Artikel in der Knowledgebase von Microsoft nicht mehr mit vorangestelltem
Buchstaben Q
angegeben. Wenn ihr also einen Hilfehinwies der Form Q209354
findet, ist der noch nach der alten Konvention erstellt worden. Diese Schreibweise wird ab Januar 2005
nicht mehr unterstützt.
Um KB-Artikel dennoch in komplexere Suchen integrieren zu können, hat Microsoft jedem ein Keyword,
bestehend aus dem Kürzel KB und der Nummer des Artikels mitgegeben. Aus dem obigen Beispiel wird so:
KB209354
Gesucht werden können solche Artikel dann online über den URL
http://support.microsoft.com/?kbid=n
wobei n die entsprechende Nummer ist. Die Auswahl der Sprache richtet sich dann nach
den Einstellungen des Browsers.
In der Offlineversion kann man die Zahl weiter direkt in das
Suchfeld übernehmen. Dabei sollte man darauf achten, daß man die
Knowledge Base auch im aktuellen Subset hat. (Die Voreinstellung "C++ and related" enthält die KB
zum Beispiel nicht!)
Man kann bei der Suche natürlich auch eines der extra zu diesem Zweck geschriebenen Tools bemühen. Weitere Informationen finden sich hier: Änderungen bei der Nummerierung von Knowledge Base (KB) Artikeln
Bekommt man als Hilfestellung eine einfache Zahl abgeboten, der ein TN
vorangestellt ist,
handelt es sich um eine Technical Note. Die gesamte Zahl inklusive TN einfach in das
Indexfeld übernehmen. Der Artikel sollte dann schon in der Liste markiert sein.
Finden sich nach dem Compilieren oder Linken solche Meldungen im Output-Fenster des DevStudios, handelt es sich um Compilerfehler, Warnungen oder Linkerfehler. Für Hilfe, entweder den Cursor auf die Nummer platzieren und [F1] drücken, oder das gesamte Literal in das Indexfeld übernehmen. Der Artikel sollte dann schon in der Liste markiert sein.
Spuckt ein Programm unbekannte Fehlernummern aus und das Tool errlook.exe
hilft auch nicht weiter,
kann man diese Nummern prima direkt in das Suchfeld eingeben, und die Fundstellen
durchgrubbern. Es empfiehlt sich dabei, nach beide Schreibweisen suchen zu lassen: dezimal und hexadezimal.
Reicht die MFC-Beschreibung einer Funktion nicht aus, kann zusätzlich im Platform-SDK nach der gekapselten Windows-Message oder der SDK-Funktion gesucht werden.
Beispiel: CMenu::TrackPopupMenu(...) verweist auf 5 mögliche nFlags (TMP_*). Folgt man dem Link zu ::TrackPopupMenu
findet sich zusätzlich noch TPM_RETURNCMD.
Findet sich eine Struktur der Schreibweise II_XXXXXX
nicht in der Hilfe, kann man eventuell mit
der Schreibweise IIXXXXXX
fündig werden.
Beispiel: Der Link auf LV_ITEM geht ins Leere, die Struktur ist aber unter LVITEM erklärt.
Steht der Cursor auf einem Structpointer LPXXXXXX
, findet der Hilfeaufruf kein Ziel. In diesem
Fall in der Suche der Hilfe einfach den Long-Pointer-Anteil des Namens löschen.
Beispiel: Der Link auf LPNMDATETIMECHANGE geht ins Leere, die Struktur ist aber unter NMDATETIMECHANGE erklärt.
Sucht man eine Funktion, die etwas bestimmtes können soll, weiß ihren Namen aber nicht, kann man die englischen Begriffe aneinandergereiht in das Index- oder Suchfeld tippen.
Beispiel: Gesucht wird eine Funktion, die Dateien kopiert. Datei = file und kopieren =
copy. FileCopy? Nicht wirklich. CopyFile? Treffer!
Ein empfehlenswertes Online-Wörterbuch ist zum Beispiel: http://dict.leo.org der TU München.
Rund um das MSDN und den Microsoft Support sind kleine Tools entstanden, die einem den Umgang mit dem Medium erleichtern sollen:
Für die Mithilfe bei der Erstellung/Pflege des HOWTO danke ich: Martin Richter, Dieter Smode, Eberhard Schefold.
Copyright © Carsten Witte, 2002-2004 |