Benutzerdefinierte Dialogvorlagen definieren

<< Click to Display Table of Contents >>

RayPack > 8.0 > User Guide > PackDesigner > MSI / MST / RPP-basierte Projekte > Erweiterter Modus > Benutzeroberfläche > Neue Dialoge hinzufügen 

Benutzerdefinierte Dialogvorlagen definieren

 

papercliper

Hinweis:

Dies ist ein Thema für fortgeschrittene Benutzer.

 

Die im Browser für vordefinierte Dialoge verfügbaren Dialoge können angepasst und erweitert werden. RayPack sucht nach Dialogdefinitionen im folgenden Ordner:

 

<PackPointDir>\Dialogs

 

Standardmäßig wird das Verzeichnis C:\RayPack\PackPoint\Dialogs verwendet.

 

Jeder Dialog wird mit mindestens zwei Dateien definiert:

 

Eine kleine *.xml-Datei, die die grundlegenden Dialogeigenschaften definiert: Name, Beschreibung, Hersteller und die Quelldatei. 

Optional können für jeden Dialog auch Designs definiert werden.

Eine *.rpd-Datei mit den erforderlichen Dialogdaten, Bildern, Aktionen, Ereignissen usw.

 

Beispielsweise wird der Dialog SetupCompleteError folgendermaßen definiert:

 

 <?xml version="1.0" encoding="utf-8" ?>

 <Dialog IsStandard="false" Name="SetupCompleteError" Author="Raynet" 

 Source="SetupCompleteError\SetupCompleteError.rpd">  

   <Description><![CDATA[A dialog for SetupCompleteError configuration.]]>

   </Description>

 </Dialog>

 

Das Attribut Source definiert einen relativen Speicherort einer Datei, die die Dialog- und Steuerelementdefinition enthält.

Das Attribut IsStandard kann entweder true oder false sein und beeinflusst, ob der Dialog als benutzerdefinierter oder als standardmäßiger Dialog im 

Browser für vordefinierte Dialoge angezeigt wird.

 

Die *.rpd-Dateien sind einfache MSI-Datenbanken mit geänderter Erweiterung. Sie enthalten nicht die vollständige Struktur eines 

MSI-Schemas. In der Regel sind darin nur die folgenden Tabellen vorhanden:

 

Binary

Control

Dialog

ControlCondition

ControlEvent

TextStyle

 

Wenn der Dialog dem Projekt hinzugefügt wird, wird der Inhalt aller Tabellen mit dem Inhalt des aktuellen Projekts zusammengeführt. Wenn ein Konflikt auftritt (beispielsweise beim Versuch, eine Binärressource hinzuzufügen, die bereits im Paket vorhanden ist), wird er stillschweigend ignoriert. Dadurch wird sichergestellt, dass beim Import eines Dialogs jede Art von Anpassung erhalten bleibt. Die Eigenschaft SecureCustomProperties wird besonders behandelt: Ihr Wert wird mit dem Basiswert unter Verwendung eines Semikolons als Trennzeichen zusammengeführt. Bei allen anderen MSI-Eigenschaften hat der Wert des aktuellen Projekts Vorrang.

 

Vorbereiten einer benutzerdefinierten Vorlage

So bereiten Sie eine benutzerdefinierte Vorlage vor:

 

1.Erstellen Sie einen Unterordner im Ordner <PackPointDir>\Dialogs (standardmäßig C:\RayPack\PackPoint\Dialogs), z. B. MyDialog.

2.Erstellen Sie ein neues Projekt in RayPack und verwenden Sie den Benutzeroberflächen-Editor, um einen benutzerdefinierten Dialog zu erstellen.

3.Erstellen Sie das Projekt als MSI in den im ersten Schritt erstellten Unterordner. Gemäß Konvention sollte der Dateiname identisch mit dem Namen des Ordners sein. Sie können aber auch eigene Namenskonventionen durchsetzen.

4.Entfernen Sie alle unnötigen Überbleibsel aus dem Projekt.

a.Alles, was nichts mit dem Dialog zu tun hat, sollte entfernt werden. Im Idealfall sollten nur die oben genannten Tabellen übrig bleiben, und nur Zeilen, die den neuen Dialog beschreiben.

b.Entfernen Sie die Einträge aus der Tabelle Binary und der Icon-Tabelle, die vom Dialog nicht benötigt werden.

5.Speichern Sie die MSI-Datei und benennen Sie ihre Erweiterung in .rpd um.

6.Erstellen Sie eine XML-Datei in <PackPointDir>\Dialogs. Gemäß Konvention sollte ihr Name identisch mit dem Namen der .rpd-Datei sein. Sie können aber auch eigene Namenskonventionen durchsetzen.

7.Kopieren Sie das Beispiel aus diesem Abschnitt und aktualisieren Sie die erforderlichen Attribute (Name, Beschreibung und Autor).

8.Aktualisieren Sie das Attribut Source, um den in Schritt 5 gespeicherten Pfad korrekt zu referenzieren.

9.Die Änderungen werden übernommen, sobald das Fenster Predefined Dialogs angezeigt wird.

 

Erstellen von Designs

Ein Design ist eine einfache MST-Transformation mit der Erweiterung .rpdt. So erstellen Sie ein Design für einen Dialog:

 

1.Wählen Sie einen Dialog aus oder erstellen Sie einen neuen mit den vorherigen Schritten.

2.Erstellen Sie eine MST-Transformation zur ursprünglichen .rpd-Datei.

3.Die Transformation sollte die erforderlichen Parameter ändern, erforderliche Bilder hinzufügen usw.

4.Speichern Sie die Transformation im Unterordner, in dem sich die ursprüngliche .rpd-Datei befindet.

5.Passen Sie die XML-Datei an, die die Dialogdefinition enthält. Das folgende Beispiel definiert zwei Designs:

 

 <?xml version="1.0" encoding="utf-8" ?>

 <Dialog IsStandard="false" Name="DB Configuration dialog" Author="Raynet" Source="db\db.rpd">  

   <Description><![CDATA[A dialog for DB configuration.]]></Description>

   <Themes>

     <Transform Name="Wide" Source="db\Wide.rpdt" />

     <Transform Name="Modern" Source="db\Modern.rpdt" />

   </Themes>

 </Dialog>

 

6.Die Änderungen werden übernommen, sobald das Fenster Predefined Dialogs angezeigt wird.