von Centura Team Developer, Gupta bzw. SQLWindows mit Visual Toolchest
Jede Verschmelzungsfunktion bringt in der Verschmelzung begründete Probleme mit sich, die in bestimmten Fällen zu evtl. Fehlern führen. Diese Probleme ergeben sich hauptsächlich aus Unterschieden zwischen den zu verschmelzenden Dateien.
Die Verschmelzung wird manchmal durch zu starke "Verschachtelung" der
Centura Builder Klassen ver-kompliziert. Unter Umständen können regelrecht
Informationen verloren gehen, wenn die Klassen danach aktualisiert werden
(insbesondere bei Form-Window- und QuickTabs- Klassen; siehe unten).
Dieses Problem kann normalerweise durch die richtige Reihenfolge der Verschmelzung
(zuerst mit der Basis, dann die Ableitungen [Vererbungen]) und
der Aktualisierung nach jeder "Teilverschmelzung" der Bibliotheken ( libraries )
gelöst werden.
Gehen Sie also vom Diff/Merge-Tool gemeldeten Konflikten und Warnungen
in den Ausgabedateien nach und prüfen Sie, ob die Verschmelzung korrekt bewältigt
werden konnte. Compilieren Sie die Anwendung, um logische Fehler auf zu spüren.
Wenn Sie vermuten, daß die Verschmelzung nicht korrekt erfogte,
dann ermitteln Sie mit dem Diff/Merge-Tool die Verschmelzungs-Änderungen
zwischen jeder einzelnen Datei und dem Original und
nehmen die Verschmelzung manuell durch Ausschneiden und Einfügen vor.
Nutzen Sie auch die nur-Komponenten-Verschmelzung,
um nur Teile von Quellcodes zu verschmelzen.
Subtilere Probleme können auch durch sehr große Quellcodeblöcke,
in denen sehr viel geändert, gelöscht usw. wurde, entstehen.
Deswegen raten wir Ihnen nachdrücklichst,
immer erst das Verschmelzungsergebnis auf Korrektheit zu betrachten und
zu prüfen, bevor Sie es als korrekten Quellcode akzeptieren.
von Centura Team Developer, Gupta bzw. SQLWindows mit Visual Toolchest
Aufgrund der Implementationsart von "top level form classes",
ist Vorsicht bei der Verschmelzung von Instanzen von diesen Klassen geboten.
Details beziehen Sie bitte aus der Dokumentation ( zu den "top level form classes").
Das typische Symtom für diesen Fehler ist,
daß das Verschmelzungswerkzeug sehr lange Konfliktlisten für die Verschmelzung erzeugt.
Ausserdem ist es möglich, daß mehrfache Kopien der ererbten Inhalte
in die Verschmelzungs-Datei geschrieben werden. Verwenden Sie die Verschmelzungs-Datei
NICHT, wenn dieser Fehler auftritt ! Zur Korrektur dieses Fehlers gehen Sie
folgendermaßen vor:
Dieser Fehler trat auf, nach dem Sie eine Drei-Wege-Verschmelzung durchführten,
von einer Anwendung, die ein "form" aus einer Teil-"form class" definiert.
Voraussetzungen sind:
So korregieren Sie das Problem:
Zusammengefaßt: Wenn Sie "form class"-Bibliotheken ( libraries ) mit "child contents" haben und Sie nehmen Veränderungen an diesen "child contents" vor, müssen Sie immer zuerst nur die *.APL-Dateien verschmelzen. Dann aktualisieren Sie die Bibliotheken ( libraries ) in allen Dateien, die diese *.APL enthalten und setzen erst dann die Verschmelzung mit dem Rest fort.
von Centura Team Developer, Gupta bzw. SQLWindows mit Visual Toolchest
Die Verschmelzung ist ein in sich komplizierter Prozeß und
muß mit Sorgfalt verwendet werden. Lösen Sie jeden gemeldeten Konflikt oder
jede angezeigte Warung auf, bevor Sie mit dem Verschmelzungsergebnis weiter arbeiten.
Ein Konflikt bedeutet,
Eine Warnung wird angezeigt, wenn:
Konflikte sind in der Centura Builder Outline
mit '#### DIFF' gekennzeichnet oder
sie werden mit einem Differenzvergleich zwischen dem Original und
der Ausgabedatei ermittelt.
Wenn ein Konflikt auftritt, dann versucht das Verschmelzungswerkzeug drei Kopien
der sich widersprechenden Quellcodezeilen in die Verschmelzungs-Datei zu schreiben -
die Originalzeilen und die Zeilen der Version 1 und 2. Klar muß dabei sein,
daß die Kopie des Originals keine genaue Kopie des Originals ist,
weil es schon teilweise verschmolzen sein kann (also nur die,
wo jede Verschmelzungs-taktik versagte ). In dem Fall,
muß der Original-Quellcode aus der Original-Datei manuell kopiert werden.
von Centura Team Developer, Gupta bzw. SQLWindows mit Visual Toolchest
Der Vergleichs- und Verschmelzungs- Algorithmus ist durch die Komplexität der Centura-Builder-Outline-Datei in seiner Anwendbarkeit beschränkt. Die Genzen ergeben sich aus der maximal Höchstgeschwindigkeit, dem Zusammenfassung der verschiedenen Outline-Versionen und in der Anwendung der festgestellten Unterschiede. Outline's werden nur maximal 999 unterstützt, dies gilt sogar für Centura-Builder-Dateien. Im Centura-Builder können die Dateien nicht größer werden, aber durch eine Verschmelzung, die nach dem "Vergleichs- und Verschmelzungs- Algorithmus" folgt, könnten größere Dateien als 999 Outline's entstehen - hier ist also eine Grenze gesetzt. Der einzige Fall, in dem die 999-Grenze in normalen Anwendungen auftreten kann, ist, wenn mehr als 999 Konstanten verwendet werden. In diesem Fall müssen die Konstanten-Definitionen auf mehrere Dateien aufgesplittet werden und in ersteres "includiert" werden.
Bei Dateien, die diese Grenze überschreiten, gelingt es nicht den Vergleich und die Verschmelzung zuverlässig durchzuführen. Vergleich und Verschmelzung arbeieten zwar weiter, aber nicht nach der 999-ten Outline. Wollen Sie dann das Schein-Verschmelzung-Ergebnis zu den den Vor-Versionen vergleichen, so wird Ihnen eine volle Datei gemeldet, statt der Vergleichs-Unterschiede. Sie können also die Verschmelzung nur manuelle vornehmen.
Evtl. löschen Sie alle oder die größten Kommentare aus den beiden Vorversionen, oder es gelingt Ihnen anhand gleicher Klassen- bzw. Fenster-Namen die Verversions-Dateien genau an diesen Klassen- bzw. Fenster-Namen gleich zu splitten.