Aufgrund der überwältigenden Anzahl von Voranmeldungen zu dem ersten Webcast der Reihe „VB.NET für Einsteiger und Umsteiger“ hat mein Kollege Oliver Scheer bei der Beantwortung der eingehenden Fragen ausgeholfen. Wie versprochen anbei die gestellten Fragen und die Antworten:
 
Q: Passiert die Übersetzung von MSIL in Maschinencode einmal oder wird das jedesmal bei Start des geschriebenen Programmes neu generiert?
A: Für gewöhnlich wandelt der „Just in Time“ (JIT)-Compiler den Microsoft Intermediate Language Code (MSIL) beim ersten Aufruf in Maschinencode um. Hierbei zieht der JIT Compiler jedoch in Betracht, dass gewisse Teile des Codes eventuell niemals aufgerufen werden. Aus diesem Grund konvertiert der JIT-Compiler den Code „nach und nach“ je nach Bedarf.
Alternativ kann der MSIL bei der Installation in Maschinencode übersetzt werden. In diesem Fall wird die gesamte Assembly in Maschinencode übersetzt und nicht nur ein bestimmter Teilbereich.
Wie dieser Prozess genau abläuft können Sie in dem Artikel "Compiling MSIL to Native Code" (http://msdn.microsoft.com/library/en-us/cpguide/html/cpconjitcompilation.asp) nachlesen.
 
Q: Ist die Grundvoraussetzung Windows oder würde mein Programm auch unter Linux Mac,... laufen?
A: Die Grundvoraussetzung, um .NET Programme auszuführen, ist die Common Language Runtime (CLR). Bildlich gesprochen ist die CLR eine Laufzeitumgebung in der .NET Programme ausgeführt werden können. Die CLR kann theoretisch für alle Betriebssysteme implementiert werden, faktisch gibt es derzeit nur eine vollständig Implementierung für Windows da Projekte wie beispielsweise Mono nur Teilbereiche der CLR implementieren.
 
Q: Wie ist der IL-Code gegen Know-How Diebstahl geschützt?
A: Eine Abhandlung dieser Fragestellung findet in dem Artikel "Decompiler und Obfuscator - Wie sicher ist Ihr Code?" ( http://www.microsoft.com/germany/msdn/library/security/DecompilerUndObfuscator.mspx).
 
Q: Wird der Modulname auch später noch richtig umbenannt?
A: Ja.
 
Q: Kann man mit der VB 2005 Express Edition auch COM-Add-Ins für Office Programme erstellen?
A: Prinzipiell kann man .net-assemblies mit den sogenannten Interop Services auch als COM-Komponente simulieren. Dafür gibt es im SDK vom .NET Framework ein entsprechendes Tool. Im Visual Studio Express ist das Feature allerdings nicht enthalten.
 
Q: Warum erscheint denn „press any key“ ? Muss das nicht programmiert werden??
A: „Press any key to continue . . .“ ist eine Arbeitserleichterung welche das Visual Studio bereitstellt wenn das Projekt mit „Start ohne Debuggen“ startet.
 
Q: Kann man das „Press any key“ auch unterdrücken?
A: Starten Sie das Projekt einfach mit „Debuggen starten“ (Str + F5).
 
Q: Braucht es kein Semikolon mehr am Ende der Zeile?
A: Nein, das war die Sprache C# :)
 
Q: Gibt es einen mehrzeiligen Kommentar (wie bei SQL /* .... */) ?
A: Nein, leider gibt es diese Funktionalität in VB.NET nicht. Sie können in Visual Studio allerdings mehrere Zeilen Quellcode markieren und mit STRG + K + C und STRG + K + U auskommentieren, bzw. die Kommentierung aufheben.
 
Q: Kann man eine Codezeile in mehrere Zeilen aufteilen?
A: Ja. Verwenden Sie einen Unterstrich ("_") um eine Zeile Code auf mehrere Zeilen umzubrechen. Beachten Sie allerdings, dass zwischen dem letzten Befehl und dem Unterstrich ein Leerzeichen stehen muss.
System.Console.WriteLine _
("Hallo Welt!")
 
Q: Kann man auch beiden Farbeneigenschaften(der Console) Hexcode verwenden oder nur die vorgegebenen Einstellungen?
A: Da die Console nur 16 Farben unterstützt können Sie auch nur die 16 vorgegebenen Farben der Aufzählung vom Typ System. ConsoleColor verwenden. Diese Einschränkung gilt übrigens nicht auf Ausgabegeräten, die mehr Farben unterstützen. Hier können die Farben auch als hexadezimale Werte angegeben werden.
 
Q: Den Begriff "Linker" habe ich leider nicht ganz verstanden.
A: Ein Linker ist ein Programm, welches verschiedene Programmmodule zu einem einzigen Programm zusammenfasst. Viele Programme greifen auf Funktionen zurück, die in externen Programmmmodulen ausgelagert sind. Der Linker verbindet („linkt“) den Quellcode der Anwendung mit den Teilen aus dem externen Programmmodul indem er die entsprechende Funktionen aus dem externen Programmmodul in das Hauptprogramm hinzufügt.
 
Q: Muss man sich für die nächste Woche anmelden? Sind die nächsten Webcasts auch kostenlos?
A: Ja, auch die weiteren Webcasts sind kostenlos. Alles was Sie machen müssen ist sich für die einzelnen Webcasts anzumelden. Auf http://www.microsoft.com/germany/msdn/webcasts/finder/default.mspx können Sie übrigens auf knapp 400 Webcats zu den verschiedensten Themen kostenlos zugreifen.
 
Q: Gibt es ein Skriptum ihrer Ausführung?
A: Ein Skriptum gibt es leider nicht, die aufgezeichneten Webcast stehen allerdings zum Download auf den jeweiligen Detailseiten bereit.
 
Q: Kann ich den Webcast so wie ich ihn jetzt gesehen habe mit Ton und Bild speichern?
A: Die aufgezeichneten Webcasts stehen ca. zwei bis drei Tage nach Aufzeichnung auf den jeweiligen Detailseiten zum Download bereit.
 
Bis zum zweiten Teil nächsten Montag mit Datentypen, Variablen, Namensräume, Ausdrücke und Operatoren :-)