vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Dialoge/Dateien   |   VB-Versionen: VB5, VB629.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 OtterBewertung:  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
Nachdem Sie die genannten Dateien hinzugefügt haben, öffnen Sie das Modul Module1 und entfernen dort die gesamte Prozedur Sub Main. Diese wird für die ActiveX-DLL nicht benötigt.

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-Verzeichnis
 
Die 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 Property
 
Neben 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 Property
Um 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 Sub
In 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 Sub
In 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 = Nothing
Aufruf 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 = Nothing
So 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.



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Workshops finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.