Rubrik: Allgemein | 01.05.03 |
Was sind Module und wozu braucht man sie? VB-Version: VB5, VB6 | ||
Views: 50.016 |
Bei VB unterscheidet man drei Arten von Modulen:
- Formularmodule
- Standardmodule
- Klassenmodule
Formularmodule kennt wohl jeder. Mit jeder Form, die einem Projekthinzugefügt wird, ist auch das entsprechende Formularmodul vorhanden, in dasder für diese Form benötigte Code eingefügt werden kann.
Standard- und Klassenmodule müssen Sie Ihrem Projekt über den Menüpunkt"Projekt" hinzufügen.
Standardmodule sind eigenständige Einheiten in einem Programm, dieglobale Variablen, Function- und Sub-Prozeduren enthalten, auf die von jederForm aus zugegriffen werden kann, sofern diese nicht mit PRIVATE deklariertsind. Alles was Sie mit "Private" deklarieren ist nur innerhalb desModuls gültig, in dem es deklariert wird, gleichgültig ob es sich um einFormular-, Standard- oder Klassenmodul handelt. Standardmodule werden mit der Dateiendung*.bas abgespeichert. Sie können Code in Standardmodule auslagern und wenn Sieihn in einem anderen Projekt benötigen, die entsprechende *.bas-Datei in diesesProjekt laden.
Hier mal ein - zugegeben sehr kurzes - Beispiel, um das zu verdeutlichen. Siebenötigen ein Projekt mit 2 Forms und einem Modul. Auf Form1 setzen Sie zweiCommandButtons, auf Form2 einen. Dann der Code:
' im Modul Public Sub Sonntag() MsgBox "Heute ist Sonntag. Wollen Sie wirklich arbeiten?", vbYesNo, "Warnung" End Sub ' in Form1 Private Sub Command1_Click() Sonntag End Sub Private Sub Command2_Click() Form2.Show End Sub ' in Form2 Private Sub Command1_Click() Sonntag End Sub
Starten Sie dieses Mini-Projekt und klicken Sie auf Command1: die im Moduldefinierte MsgBox erscheint. Wechseln Sie mit Command2 auf Form2 und klickendort ebenfalls auf Command1. Wieder erscheint die entsprechende MsgBox. DerZugriff auf die öffentliche Sub im Modul erfolgt einfach über den Namender Sub, in diesem Fall "Sonntag". Wenn Sie ein umfangreichesProjekt mit mehreren Forms haben, wo immer wieder mal auf eine bestimmteFunction- oder Sub-Prozedur zugegriffen werden muss, ersparen Sie sich damit vielSchreibarbeit, und vor allem trägt es zur Übersichtlichkeit des Codes bei.
Klassenmodule sind der erste Schritt zur OOP (objektorientierenProgrammierung). Klassenmodule werden mit der Endung *.cls abgespeichert. In Klassenmodulen können Sie neue Objekte erstellen, die von Ihnen definierteEigenschaften und Methoden haben. Ein schönes Beispiel für das Arbeiten mitKlassenmodulen finden Sie in unserem Workshop OOP: Collection-Class in VB6.
Ich hoffe, dass diese Erklärungen dem einen oder anderen unter Ihnen helfeneine Antwort zu finden, wenn Sie sich die Frage stellen: Wozu brauche ich einModul?