+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

Baustein im Baustein


(Thomas Neldner) #1

Hallo,

ich habe ein ungewolltes Verhalten in LL22 wenn ich Bausteine in Bausteine einbinden. Während ich einen Baustein in einen Baustein aufnehme, also zur Designzeit, wird alles korrekt angezeigt, d.h. das Formular kann bearbeitet werden und die Layout-Vorschau zeigt das gewünschte Ergebnis. Verlasse ich dann den Designer und öffne das Formular erneut, sind die eingebetteten Bausteine nicht mehr verfügbar. Anhand des Dateipfades, an welchem der eingebettete Baustein gesucht wird, kann ich erkennen, dass der Designer den eingebetteten Baustein im gleichen Ordner vermutet wie das Formular. Tatsächlich ist der eingebettete Baustein aber im gleichen Verzeichnis wie der übergeordnete Baustein (damit meine ich den Baustein, der weitere eingebettete Bausteine enthält).
Versuche ich hier etwas, was eigentlich nicht vorgesehen ist? Oder handelt es sich um ein Problem in der Version 22?

Gruß,
Th. Neldner


(Jörg Wendisch) #2

Ich arbeite zwar nicht mit Baustein im Baustein, sondern nur mit mehreren parallelen Bausteinen, könnte mir aber vorstellen, das der Dateiname des Bausteines mit absolutem Pfad helfen könnte.

Beispiel:
ProjectPath$() + “…\BausteinKopfbogen.lst”

ersetzen durch:
“\xxx.xxx.xxx.xxx\project\layouts\BausteinKopfbogen.lst”

Mit freundlichen Grüßen

Jörg Wendisch


(combit Support - Christian Rauchfuß) #3

Hallo Herr Neldner,

vielen Dank für Ihren Beitrag.

In einem kleinen Test mit der List & Label Beispielanwendung (…combit\LL22\Beispielanwendung\DemoApplication22.exe) konnte Ihre Anforderung erfolgreich umgesetzt werden. Die Verzeichnis- bzw Projektstruktur sah hierbei wie folgt aus:

…[b]Beispielanwendung[/b]\Artikelliste mit Bildern.lst
|
|…[b]Beispielanwendung[/b][b]Support[/b]\Baustein1.lst
|
|
…[b]Beispielanwendung[/b][b]Support[/b]\Baustein2.lst

Das “Hauptprojekt” befindet sich im Verzeichnis “Beispielanwendung” und die Bausteine im Unterverzeichnis “Support”. Baustein2.lst ist dabei als Baustein in Baustein1.lst definiert. Baustein1.lst ist als Baustein des Hauptprojekts “Artikelliste mit Bildern.lst” hinterlegt. Anbei Screenshots. Können Sie das Verhalten so nachstellen?

Funktioniert der von Herrn Wendisch vorgeschlagene Workaround der Verwendung von Absolutpfaden?

Mit freundlichen Grüßen

Christian Rauchfuß
Technischer Support
combit GmbH


(Thomas Neldner) #4

Hallo Herr Wendisch,
Hallo Herr Rauchfuß,

vielen Dank für die Vorschläge und Infos.
Ich kann bestätigen, dass ein Baustein in einen anderen Baustein eingebettet werden kann und dass das Formular danach auch fehlerfrei gedruckt werden kann.
Wenn ich nach dem erfolgreichen Druck dieses Formular erneut im Designer öffne, sehe ich sogar die eingebetteten Bausteine in der Layout-Vorschau. Möchte ich dann aber den Eltern-Baustein, der die eingebetteten Bausteine beinhaltet, bearbeiten, wird der Assistent zum Erstellen eines neuen Formulars gestartet. Anhand des Pfades in der Titelleiste des Designers kann ich erkennen, dass List&Label den Baustein im gleichen Ordner wie das Formular vermutet.

Im Formular steht der Pfad zum Eltern-Baustein wie folgt:

Filename=ProjectPath$() + "..\..\..\..\Vorlagen\Bausteine\Beleg\Verkauf\Kopf_MitLogo.bel"

Im Eltern-Baustein steht der Pfad zu den eingebetteten Bausteinen wie folgt:

Filename=ProjectPath$() + "..\Kopf_Meine_Firma.bel" Filename=ProjectPath$() + "Kopf_Kunde.bel" Filename=ProjectPath$() + "Kopf_Fahrzeug_Rechts.bel"

Die Pfade habe ich gemäß Vorschlag in der Datei des Eltern-Bausteins korrigiert zu:

Filename=ProjectPath$() + "..\..\..\..\Vorlagen\Bausteine\Beleg\Kopf_Meine_Firma.bel" Filename=ProjectPath$() + "..\..\..\..\Vorlagen\Bausteine\Beleg\Verkauf\Kopf_Kunde.bel" Filename=ProjectPath$() + "..\..\..\..\Vorlagen\Bausteine\Beleg\Verkauf\Kopf_Fahrzeug_Rechts.bel"

Danach konnte ich die eingebetteten Bausteine direkt aus dem Formular über Kontextmenü “Projektbaustein bearbeiten” bearbeiten, nicht aber den Eltern-Baustein. Den Eltern-Baustein kann ich nur bearbeiten, wenn ich über den Menüpunkt “Bausteine” den Eltern-Baustein in der Liste der Bausteine doppelklicke.
Im Eltern-Baustein kann ich die eingebetteten Baustein übrigens auch nur auf diesem Weg bearbeiten. Im Kontextmenü des Eltern-Bausteins wird mir der Punkt “Projektbaustein bearbeiten” für die eingebetteten Bausteine erstaunlicherweise nicht angeboten.

Nach der Änderung der Pfade in dem Eltern-Baustein lässt sich das Formular übrigens auch weiterhin drucken.

Ja, es wäre eine Lösung die Pfade in dem Eltern-Baustein manuell zu ändern, aber wäre das auch zukunftssicher? Und ist es gewollt, dass Bausteine in Bausteine eingefügt werden können/sollen/dürfen?

Viele Grüße,
Th. Neldner