Rubrik: Dialoge/Dateien | VB-Versionen: VB5, VB6 | 29.11.00 |
Daten sichern und wiederherstellen mit Visual-Basic 5/6 Teil 3 Der dritte Teil unseres Workshops zur Datensicherung und Wiedeherstellung zeigt, wie sich die Backup-/ und Restore-Funktion in bestehende Anwendungen integrieren lässt - und zwar als ActiveX-DLL. | ||
Autor: Dieter Otter | Bewertung: | Views: 12.104 |
In den beiden ersten Teilen unseres Workshops haben wir zwei universelle Routinen erstellt: eine Datensicherungsfunktion, welche alle Dateien und Ordner eines bestimmten Verzeichnisses auf ein auswählbares Speichermedium sichert und eine Wiederherstellungsfunktion, um die Daten der Datensicherung bei einem evtl. Datenverlust wiederherstellen zu können. Ziel des Workshops soll es jedoch sein, eine wirklich universelle Schnittstelle zwischen der Backup/Restore-Funktion und Ihren eigenen Anwendungen zu schaffen - am besten eignet sich hierfür eine ActiveX-DLL Komponente. Das Erstellen dieser ActiveX-DLL ist nun Aufgabe des dritten Teils unseres Workshops.
Neues Projekt: ActiveX-DLL
Starten Sie die Visual-Basic Entwicklungsumgebung, wählen dort den Befehl DATEI - Neues Projekt und Klicken im anschließend erscheinenden Dialogfenster auf ActiveX-DLL. Visual-Basic erstellt daraufhin ein neues Projekt mit einem einzigen Klassenmodul (Class1). Klicken Sie im Projektexplorer mit der rechten Maustaste auf den Eintrag Class1 und wählen dann Eigenschaften. Im Eigenschaftenfenster geben Sie für Name die Bezeichnung cBackup ein.
Benötigte Formulare und Module
Alle benötigten Formulare und Module haben wir bereits in den beiden ersten Teilen unseres Workshops erstellt. Wir brauchen diese jetzt nur noch dem neuen Projekt hinzuzufügen. Klicken Sie hierzu mit der rechten Maustaste in das Fenster "Projektexplorer" und wählen dann den Befehl Hinzufügen - Datei hinzufügen... . Fügen Sie dem Projekt nacheinander folgende Dateien hinzu:
- BackupBox.frm
- BackupLaufwerkBox.frm
- Module1.bas
- RestoreBackupBox.frm
- RestoreBox.frm
Schnittstelle der ActiveX-DLL zur Aussenwelt
Ohne das Implementieren einer öffentlichen Schnittstelle für die Kommunikation mit Ihrer Anwendung kann die ActiveX-DLL nicht eingesetzt werden.
Fügen Sie folgenden Quellcode in das Projekt ein:
Option Explicit Dim mDatenPath As String ' Daten-VerzeichnisDie Variable mDatenPath benötigen wir für die Übergabe an die Prozedur MakeBackup. Sie enthält das Verzeichnis der zu sichernenden Dateien und Ordner. Über die nachfolgenden Property (Eigenschaften) - Prozeduren kann das Datenverzeichnis aus Ihrer Anwendung heraus gesetzt bzw. ermittelt werden.
Public Property Get DatenPath() As String DatenPath = mDatenPath End Property Public Property Let DatenPath(ByVal vNewValue As String) mDatenPath = vNewValue End PropertyNeben dem Datenverzeichnis muß der ActiveX-DLL noch mitgeteilt werden, in welcher Datei die Einstellungen der Laufwerksvorgaben gespeichert werden sollen. Auch dies realisieren wir wieder mit Property-Prozeduren.
Public Property Get IniFile() As String IniFile = Module1.IniFile End Property Public Property Let IniFile(ByVal vNewValue As String) Module1.IniFile = vNewValue End PropertyUm die Datensicherungs- und Wiederherstellungsfunktion aus Ihrer Anwendung heraus aufrufen zu können, benötigen wir zwei öffentlichen Prozeduraufrufe, welche als Schnittstelle dienen.
Public Sub MakeBackup(Optional ByVal SubOrdner As String = "") ' Backup erstellen Load BackupBox BackupBox.InitMain DatenPath, SubOrdner BackupBox.Show 1 Unload BackupBox End SubIn der Prozedur MakeBackup wird die Datensicherungsroutine aufgerufen, welche wir im ersten Teil dieses Workshops erstellt haben. Soll nicht das gesamte Datenverzeichnis, sondern nur ein darin einzelnes enthaltene Unterverzeichnis gesichert werden, so kann dies über den Parameter SubOrdner angebenen werden.
Public Sub MakeRestore() ' Daten wiederherstellen Load RestoreBox RestoreBox.Tag = DatenPath RestoreBox.Show 1 Unload RestoreBox End SubIn der Prozedur MakeRestore wird die Wiederherstellungsroutine aufgerufen, welche wir im zweiten Teil dieses Workshops erstellt haben.
Erstellen der ActiveX-DLL
Bevor wir nun das Projekt zu einer ActiveX-DLL kompilieren, aktivieren wir zunächst den Dialog für die Projekt-Eigenschaften (Menü Projekt - Eigenschaft von ...). Geben Sie in der ersten Registerkarte in das Eingabefeld "Projektname" cBackup32 ein. In die Zeile für "Projektbeschreibung" geben Sie Backup/Restore ActiveX-DLL ein. Das war im Prinzip schon alles. Wählen Sie nun den Befehl Datei - cBackup32.dll erstellen, um das Projekt zu einer ActiveX-DLL - Datei zu kompilieren.
Einbinden der ActiveX-DLL in Ihre Anwendungen
Laden Sie Ihre Anwendung in die Entwicklungsumgebung von Visual-Basic. Um die Datensicherungs- und Wiederherstellungsroutinen verwenden zu können, müssen Sie Ihrer Anwendung einen entsprechenden Verweis zur der eben erstellten ActiveX-DLL hinzufügen. Dies erreichen Sie, indem Sie im Menü Projekt den Befehl Verweise anwählen. Klicken Sie auf Durchsuchen und suchen dann nach der Datei cBackup32.dll. Im Anschluß daran schließen das Dialogfenster, indem Sie auf OK klicken. Jetzt steht Ihnen die cBackup32 ActiveX-DLL zur Verfügung.
Aufruf der Datensicherungsroutine aus Ihrer Anwendung heraus
Die Datensicherungsroutine wird folgendermaßen aufgerufen:
Dim cBackup As New cBackup cBackup.DatenPath = Pfad cBackup.IniFile = IniFile cBackup.MakeBackup SubOrdner Set cBackup = NothingAufruf der Wiederherstellungsroutine aus Ihrer Anwendung heraus
Die Wiederherstellungsroutine wird folgendermaßen aufgerufen:
Dim cBackup As New cBackup cBackup.DatenPath = Pfad cBackup.IniFile = IniFile cBackup.MakeRestore Set cBackup = NothingSo das war der dritte und letzte Teil unseres Workshops. Sie sollten jetzt in der Lage sein eine eigene Datensicherungs- und Wiederherstellungsfunktion in Ihre Anwendungen zu integrieren.