VARCHART XGantt - Häufig gestellte Fragen

1. Was ist bei Problemen mit dem Drucken zu tun?

Wenn Sie beim Einsatz der ActiveX-Edition Ihr Diagramm nicht drucken können oder den Drucker nicht einrichten können, prüfen Sie bitte, ob die Datei vcprct32u.dll vorhanden ist. Prüfen Sie außerdem, ob Sie in dem im PATH angegebenen Verzeichnis enthalten ist, und ob der Standard-Windows-Drucker eingerichtet ist.
Sollte die Datei vcprct32u.dll fehlen, wenden Sie sich bitte an den Kundendienst der NETRONIC Software GmbH.

Nach oben

2. Wie lässt sich eine veränderte INI-Datei verwenden?

Einige Einstellungen für VARCHART XGantt können auf den Eigenschaftenseiten nicht eingestellt werden, lassen sich durch das Editieren der INI-Datei aber trotzdem verändern. Bei der ActiveX-Edition gehen Sie dazu folgendermaßen vor:

  1. Öffnen Sie die Eigenschaftenseite Allgemeines. Dort wird im Feld Konfigurationsdatei die aktuell verwendete Konfigurationsdatei (z.B. projekt.ini) angezeigt.
  2. Klicken Sie auf die Schaltfläche Durchsuchen. Das Dialogfeld Laden bzw. Speichern öffnet sich. Geben Sie hier unter Dateiname den Namen für eine Konfigurationsdatei an, die nur vorübergehend verwendet werden soll, z. B. dummy.ini. Klicken Sie auf Speichern.
  3. Klicken Sie nun auf der Eigenschaftenseite Allgemeines auf OK bzw. Übernehmen. Die Konfigurationsdatei dummy.ini wird nun automatisch erzeugt und verwendet.
  4. Nun können Sie Ihre INI-Datei (z. B. projekt.ini) in einem Editor bearbeiten und Ihre Änderungen speichern.
  5. Wählen Sie anschließend auf der Eigenschaftenseite Allgemeines unter Konfigurationsdatei Ihre bearbeitete Konfigurationsdatei (projekt.ini) wieder aus und klicken Sie auf OK. Nun wird die bearbeitete INI-Datei (projekt.ini) von VARCHART XGantt verwendet.

Nach oben

3. Wie lassen sich die Standard-Kontextmenüs abschalten?

Die vordefinierten Kontextmenüs können Sie durch Setzen des Rückgabestatus auf vcRetStatNoPopup unterdrücken. Die folgenden Beispiele gelten für die ActiveX-Edition und für VB6:

Kontextmenü für das Diagramm abschalten:

Private Sub VcGantt1_OnDiagramRClick(ByVal x As Long,ByVal y As Long, returnStatus As Variant)
    returnStatus = vcRetStatNoPopup
End Sub


Kontextmenü für Verbindungen abschalten:

Private Sub VcGantt1_OnLinkRClickCltn (ByVal linkCltn As VcGanttLib.VcLinkCollection, ByVal x As Long, ByVal y As Long, returnStatus As Variant)
    returnStatus = vcRetStatNoPopup
End Sub


Kontextmenü für Knoten abschalten:

Private Sub VcGantt1_OnNodeRClick (ByVal node As VcGanttLib.VcNode, ByVal location As VcGanttLib.LocationEnum, ByVal x As Long, ByVal y As Long, returnStatus As Variant)
    returnStatus = vcRetStatNoPopup
End Sub

Nach oben

4. Wann können Knoten interaktiv erzeugt/nicht erzeugt werden?

Knoten können nur dann interaktiv erzeugt werden, wenn

  1. auf der Eigenschaftenseite Allgemeines das Kontrollkästchen Neue Knoten zulassen aktiviert ist
  2. im Programmcode nicht die Eigenschaft AllowNewNodesAndLinks auf False gesetzt wird und 
  3. der Rückgabestatus von OnNodeCreate nicht auf vcRetStatFalse steht.
Sub Form_Load
      VcGantt1.AllowNewNodesAndLinks = False
End Sub

Nach oben

5. Wie kann VARCHART XGantt neu lizenziert werden?

Wenn Sie die Probenutzungsdauer von VARCHART XGantt verlängern wollen oder ein neu erworbenes Modul lizenzieren möchten, dann öffnen Sie bitte den Dialog Lizenzierung auf der Eigenschaftsseite Allgemeines, indem Sie auf die Schaltfläche Anfordern klicken.

Geben Sie dort Ihre Registrierungsnummer, Ihren Namen und den Namen Ihrer Firma an. Wenn Sie auf E-Mail an NETRONIC senden klicken, wird automatisch eine E-Mail generiert, die Sie nur noch absenden müssen. Nach dem Erhalt Ihrer E-Mail werden wir Ihnen unverzüglich einen Lizenzcode zusenden.

Bitte kopieren Sie diese Lizenzinformationen in das Textfenster des Lizenzierungsdialoges und klicken Sie auf die Schaltfläche Lizenz aktivieren. Danach verlassen Sie die Eigenschaftsseite mit OK und öffnen eine beliebige andere Eigenschaftenseite. Nachdem Sie dort eine beliebige Änderung vorgenommen und abgespeichert haben, ist die Lizenzierung abgeschlossen.

Nach oben

6. Was ist bei Problemen mit der Registrierung zu tun?

Wenn Sie beim Registrieren von VARCHART XNGantt die Fehlermeldung "REGSVR32 Error Return: 0X0000007e" erhalten, ist die DLL vcwin32u.dll nicht vorhanden oder steht nicht in einem im PATH angegebenen Verzeichnis.

Wenn beim Registrieren des VARCHART XGantt die Fehlermeldungen "REGSVR32 Error Return: 0X000000b6" und "Die Ordnungszahl 6877 konnte in der Dynamic Link Library MFC42.DLL nicht gefunden werden." erhalten, ist die DLL mfc42.dll nicht vorhanden oder steht nicht in einem im PATH angegebenen Verzeichnis.

Sollte Ihnen einer dieser Dateien fehlen, wenden Sie sich bitte an den Kundendienst von NETRONIC.

Nach oben

7. Wie werden Überlappungen bei Vorgängen in Gruppen sichtbar?

Um in einem Gantt-Diagramm z.B. Engpässe durch die Überschneidung des Urlaubs mehrerer Mitarbeiter oder durch die Mehrfachbelegung von Maschinen zu verhindern, können die Überschneidungen in einer Gruppe von Vorgängen sichtbar gemacht werden.

Überschneidungen von Vorgängen kann es in einem Balkenplan grundsätzlich nur geben, wenn eine Gruppierung verwendet wird und auf der Eigenschaftenseite Sortierung die Option Knoten in einer Zeile gewählt wurde. Bei dieser Einstellung können Gruppen kollabiert oder expandiert dargestellt werden. Bei kollabierten Gruppen sind Überschneidungen nicht zu erkennen, während sie bei expandierten Gruppen durch eine versetzte Anordnung sichtbar gemacht werden.

Um Überschneidungen in Balken-Diagrammen sichtbar zu machen, wählen Sie auf der Eigenschaftenseite Sortierung die Option Knoten in einer Zeile, um die Vorgänge einer Gruppe in einer Zeile auszugeben. Überschneiden sich Vorgänge einer Gruppe, so werden sie auch bei dieser Option untereinander angeordnet. Dadurch erkennen Sie die Überschneidungen auf einen Blick.

Wenn die Vorgänge kollabiert werden, sind Überschneidungen von Vorgängen jedoch nicht zu erkennen. Um sicherzustellen, dass der Anwender die Überschneidung von Vorgängen nicht übersieht, sollten Sie die Option Änderungen erlaubt abschalten, um das Umschalten zwischen diesen beiden Darstellungsmodi zu verhindern. Deaktivieren Sie außerdem die Option Zu Anfang kollabiert. Dann erscheinen alle Gruppen expandiert, und Überschneidungen fallen sofort ins Auge, da die Vorgänge an den entsprechenden Stellen untereinander dargestellt werden.

Nach oben

8. Wie erscheinen Balken im Gantt-Graphen durch Klick in der Tabelle?

Beim Ereignis OnNodeLClick wird neben dem Knoten auch die Information InTable oder InDiagram übergeben. Fand der Klick in der Tabelle statt (InTable), wird aus dem Knoten das relevante Datum ausgefragt und mit der Methode ScrollToDate an das VARCHART XGantt-Objekt übergeben. Code-Beispiel:

Private Sub VcGantt1_OnNodeLClick (ByVal node As VcGanttLib.VcNode, ByVal location As VcGanttLib.LocationEnum, ByVal x As Long, ByVal y As Long, returnStatus As Variant)
Dim myDataDef As VcDataDefinition
Dim myDataDefTable As VcDataDefinitionTable
Dim myDataField As VcDefinitionField
Dim myIndex As Integer
If location = vcInTable Then
   ' falls der Index des Feldes "Start" nicht bekannt ist
   Set myDataDef = VcGantt1.DataDefinition
   Set myDataDefTable = myDataDef.DefinitionTable(vcMaindata)
   Set myDataField = myDataDefTable.FieldByName("Start")
   myIndex = myDataField.ID
   VcGantt1.ScrollToDate node.DataField(myIndex), vcLeftAligned, 2
End If
End Sub

Nach oben

9. Wie kann die vertikale Höhe einer Gruppe farblich gekennzeichnet werden?

1) Pro Gruppierungsebene einen Filter anlegen, der die Gruppentitelzeile herausfiltert.
Filterbedingung für Gruppierungsebene 1:
<Gruppen-/Sammelvorgang>=1 UND <Gruppierungsebene>=1
Filterbedingung für Gruppierungsebene 2:
<Gruppen-/Sammelvorgang>=1 UND <Gruppierungsebene>=2
etc ...

2) Für jede Gruppierungsebene ein Tabellenformat für die Gruppentitelzeile anlegen:
a) Die Filter aus Schritt 1 den entsprechenden Ebenen zuweisen.
b) Für jede darüberliegende Ebene eine "Leerkästchen" voranstellen: eine Spalte erzeugen, der kein Datenfeld und kein konstanter Text zugewiesen wird. Die Spalte 1 erhält die Farbe der Gruppierungsebene 1, die Spalte 2 die Farbe der Gruppierungsebene 2 etc.
c) Hinter den Leerkästchen eine Zelle mit der vordefinierten Bezeichnung <Gruppentitel> erzeugen.
d) Diese Zelle mit der Eigenfarbe der aktuellen Ebene einfärben.

3) Das Tabellenformat "Standardlist" für die Basiszeilen analog gestalten:
a) Pro Ebene ein "Leerkästchen" voranstellen, das die Farbe der entsprechenden Ebene trägt.
b) Hinter den Leerkästchen alle gewünschten weiteren Zellen spezifizieren.
c) Diese Zelle(n) mit einer eigenen "Basiszeilenfarbe" versehen.

4) Trennlinien:
a) Beim Spaltentitel nur die äußeren Trennlinien AN.
b) In allen anderen Formaten innere und äußere Trennlinien AUS.

Nach oben

10. Wie kann die Zeitskalenspreizung begrenzt werden?

Wenn die Zeitskala sehr weit links im sichtbaren Bereich mit gedrückter linker Maustaste gezogen wird, um die Zeitskala zu spreizen, kann leicht ein Faktor weit über 1.000% erreicht werden. Diese Größe lässt sich mit dem Ereignis OnTimeScaleSectionRescale leicht kontrollieren. Im folgenden Beispiel wird jeweils maximal eine Verdopplung der Auflösung zugelassen. Code-Beispiel:

Private Sub VcGantt1_OnTimeScaleSectionRescale (ByVal timeScale As VcGanttLib.VcTimeScale, ByVal sectionIndex As Integer, ByVal newBasicUnitWidth As Long, returnStatus As Variant)
Dim nOldUnitWidth As Long
nOldUnitWidth = timeScale.Section(sectionIndex).UnitWidth
If newBasicUnitWidth > (2 * nOldUnitWidth) Then
   timeScale.UnitWidth = (2 * nOldUnitWidth)
   returnStatus = False
End If
End Sub

Nach oben

11. Neue Lizenzdatei in einem ASP.NET Website Projekt in Visual Studio 2005

Visual Studio 2005 speichert in einem ASP.NET Website Projekt die Lizenzinformationen für XGantt ASP.NET in der Datei app_licenses.dll. Diese Datei wird beim Neuerstellen der Projektmappe (Erstellen > Projektmappe neu erstellen) NICHT aktualisiert. Deshalb ist folgende Vorgehensweise notwendig, wenn der Kunde eine neue Lizenzdatei erhalten hat:

1. Öffnen Sie das Projekt in VS 2005
2. Klicken Sie im Projektmappen-Explorer auf den Eintrag NETRONIC.XGantt.Web.dll. Diesen Eintrag finden Sie im Ordner bin. Im Eigenschaftenfenster wird nun bei Pfad automatisch aktualisieren angezeigt, aus welchem Ordner NETRONIC.XGantt.Web.dll automatisch aktualisiert wird.
3. Bitte VS 2005 schließen.
4. Bitte kopieren Sie die neue Lizenzdatei NETRONIC.XGantt.Web.VcGantt.lic in den im Schritt 2 angezeigten Ordner.
5. Das Projekt in VS 2005 öffnen.
6. Über Erstellen > Projektmappe neu erstellen erstellen Sie bitte das Projekt neu. Damit wird die neue Lizenzdatei in den Ordner bin des Projektes kopiert.
7. VS 2005 schließen und das Projekt in VS 2005 wieder öffnen.
8. Im Projektmappen-Explorer mit der rechten Maustaste bitte auf die Datei licenses.licx klicken und aus dem Kontextmenü Laufzeitlizenzen erstellen auswählen. Damit wird die Datei app_licenses.dll neu erstellt, und die neuen Lizenzinformationen aus der Datei NETRONIC.XGantt.Web.VcGantt.lic werden in die DLL kopiert.
9. VS 2005 schließen und das Projekt in VS 2005 wieder öffnen
10. Über Erstellen > Projektmappe neu erstellen das Projekt nochmals neu erstellen.

Nach oben

12. Wie kann man VARCHART XGantt in Windows SharePoint nutzen?

Sie erstellen mit VARCHART XGantt ASP.NET eine Webanwendung, die die benötigte Gantt-Funktionalität auf einer ASP.NET-Seite realisiert. Für die Darstellung Ihrer Seite innerhalb von Windows SharePoint sorgt ein Element namens Seiten-Viewer-Webpart. Sie müssen diesem Element lediglich den Verweis auf Ihre Seite mitteilen. Danach können Sie den Seiten-Viewer, wie jedes andere Webpart-Element auch, innerhalb von Windows SharePoint benutzen. Das Bereitstellen der Anwendung kann auf dem SharePoint-Server selbst oder auf einem anderen Webserver erfolgen.

13. Wie kann ich XGantt .NET in WPF-Anwendungen einbetten?

Auf die reichhaltige Funktionalität von XGantt braucht man in WPF-Anwendungen nicht zu verzichten. Microsoft bietet für die Integration von Windows Forms-Steuerelementen in WPF-Windows das WindowsFormsHost-Steuerelement an. Damit kann man die .NET Edition von XGantt auch innerhalb eines WPF-Windows verwenden. Im Folgenden werden zwei alternative Vorgehensweisen skizziert:

Voraussetzung: Hinzufügen der benötigten ReferenzenIn beiden Fällen müssen für die Verwendung des WindowsFormsHost-Steuerelements die Referenzen auf WindowsFormsIntegration, System.Windows.Forms und natürlich auf NETRONIC.XGantt hinzugefügt werden. Außerdem muss die Datei licenses.licx mit einem Eintrag der folgenden Form zum Projekt hinzugefügt werden:

NETRONIC.XGantt.VcGantt, NETRONIC.XGantt,
Version=4.2.0.000, Culture=neutral,
PublicKeyToken=3658bc8cab00a1a5

Alternative 1: Integration über XAML-Code des WPF-Windows (Window1.xaml)

Bei diesem Ansatz wird XGantt innerhalb des XAML-Codes integriert:

<Window x:Class="WpfApplication1.Window1"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

xmlns:ne="clr-namespace:NETRONIC.XGantt;assembly=NETRONIC.XGantt"

Title="Hosting XGantt .NET in WPF" Height="400" Width="500">

 <Grid x:Name="grid1">

<WindowsFormsHost Margin="41,27,36,30" Name="windowsFormsHost1">

<ne:VcGantt Name="vcGantt1" Height="300" Width="450">

</WindowsFormsHost>

</Grid>

</Window>

Alternative 2: Integration über Code-Behind des WPF-Windows (Window1.xaml.cs)

Bei diesem Ansatz wird XGantt nicht über den XAML-Code sondern durch den Code-Behind in C# integriert. Deshalb beinhaltet der XAML-Code keine Besonderheiten; es handelt sich um die Standardbeschreibung eines WPF-Windows:

<Window x:Class="WpfApplication1.Window1"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

Title="Hosting XGantt .NET in WPF" Height="400" Width="500">

<Grid x:Name="grid1">

</Grid>

</Window>

 

Im Code-Behind wird nun das WindowsFormsHost-Objekt angelegt, und diesem wird ein VcGantt-Objekt als Kind hinzugefügt:

using System.Windows.Forms.Integration;using NETRONIC.XGantt;namespace WpfApplication1

{

/// <summary></summary>

/// Interaction logic for Window1.xaml

/// </summary><//summary>

public partial class Window1 : Window

{

WindowsFormsHost windowsFormsHost1 = null;

VcGantt vcGantt1 = null;

public Window1()

{

InitializeComponent();

windowsFormsHost1 = new System.Windows.Forms.Integration.WindowsFormsHost();

vcGantt1 = new VcGantt();

windowsFormsHost1.Child = vcGantt1;

grid1.Children.Add(windowsFormsHost1);

}

}

}

 

Konfiguration über die Eigenschaftenseiten

Leider stehen bei beiden Alternativen zur Designzeit nicht die Eigenschaftenseiten von XGantt .NET zur Verfügung. Um dennoch nicht auf deren komfortable Kon­fi­gu­ra­tions­mög­lich­kei­ten verzichten zu müssen, empfehlen wir, innerhalb des Projektes noch eine Windows Form anzulegen. Auf diese Form kann man nun eine weitere XGantt-Instanz platzieren und dort die gewünschten Einstellungen über die Eigenschaftenseiten vornehmen. Die so entstandende Kon­fi­gu­ration kann dann als *.ini-Konfigurationsdatei exportiert und anschließend wieder in das VcGantt-Objekt des WPF-Windows importiert werden:

public Window1()

{

InitializeComponent();

VcGantt vcGantt1 = (VcGantt) windowsFormsHost1.Child; //nur mit Alternative 1 benötigt

vcGantt1.InitializeForWebService();

vcGantt1.ImportConfiguration("Name_of_Configuration_file.ini");

}

Natürlich können auf gleiche Weise auch die NETRONIC-Komponenten XNet .NET und XTree .NET in WPF-Applikationen eingebettet werden.

Hilfreiche Links