Gelöschte Nummerierung erscheint nach Update von Version 7 auf Version 9 wieder

  • Guten Tag WPCubed

    Wir haben nach dem Update von wp7 auf wp9 einen komischen Effekt bei einem Kunden gefunden.

    Eine Dokumentvorlage enthielt eine Aufzählung, die nachträglich wieder gelöscht wurde.

    Wenn man das Dokument anlegt, ist die Aufzählung nicht sichtbar

    [Blockierte Grafik: https://www.dropbox.com/s/6hsw9el46a8rtaa/noEnum.png]

    Sobald das Dokument einmalig gespeichert wurde, wird die Nummerierung wieder sichtbar, wenn auch nicht im ursprünglichen Format

    [Blockierte Grafik: https://www.dropbox.com/s/9q8j9lw46zrij3e/withEnum.png]

    Unser Verständnis ist, dass die Formatierung über den Dialog WPBltDlg.pas gelöscht wurde.

    Wenn kein Style gewählt ist, wird der Style geändert mit

    Code
    fsEditBox.ASet(WPAT_NumberSTYLE, 0);
    fsEditBox.ASet(WPAT_NumberLevel, 0);

    Wenn wir die Styles löschen mit

    Code
    fsEditBox.ADel(WPAT_NumberSTYLE);
    fsEditBox.ADel(WPAT_NumberLevel);

    sind sie komplett weg, d.h. man kann das Problem beheben, aber erst, wenn es sichtbar wird.

    Was unklar ist:

    ist es ein bekanntes Problem, dass Berichte aus älteren wp-Versionen Formatierungen enthalten, die in wp9 anders interpretiert werden - und möglicherweise sogar einen Fix oder Workaround

    ist der Weg über ADel korrekt

    gibt es im Update einen spezifischen Schritt (Konversion o.ä.) die wir übersehen haben

    existiert eine Einstellung oder ein Define den wir ändern müssten

  • Noch eine Rückfrage für mein Verständnis:

    Kann ich "NumberStyle:0" gefahrlos direkt aus einem Element entfernen?

    Wie im Beispiel vom obigen Bericht Zeile 969

    Original

    Code
    <cs nr=12 wpsty=[[CharFont:&#39;Univers LT Std 45 Light&#39;;CharFontSize:1100;CharColor:clWindowText;CharBGColor:clWindow;]]/><table cs=12 wpsty=[[BoxWidth:8983;BoxMarginLeft:-41;]]><cs nr=13 wpsty=[[CharFont:&#39;Univers LT Std 45 Light&#39;;]]/><tr cs=13><cs nr=14 wpsty=[[CharFont:&#39;Arial&#39;;CharFontSize:1000;CharColor:clWindowText;CharBGColor:clWindow;]]/><td cs=14 wpsty=[[COLWIDTH:5258;IndentLeft:0;NumberStyle:0;NumberLevel:0;]]></td>

    Angepasst, ohne NumberStyle

    Code
    <cs nr=12 wpsty=[[CharFont:&#39;Univers LT Std 45 Light&#39;;CharFontSize:1100;CharColor:clWindowText;CharBGColor:clWindow;]]/><table cs=12 wpsty=[[BoxWidth:8983;BoxMarginLeft:-41;]]><cs nr=13 wpsty=[[CharFont:&#39;Univers LT Std 45 Light&#39;;]]/><tr cs=13><cs nr=14 wpsty=[[CharFont:&#39;Arial&#39;;CharFontSize:1000;CharColor:clWindowText;CharBGColor:clWindow;]]/><td cs=14 wpsty=[[COLWIDTH:5258;IndentLeft:0;NumberLevel:0;]]></td>

    Wenn das zulässig ist, habe ich einen Ansatz für eine Automatisierung der Korrektur.

    • Offizieller Beitrag

    WPAT_NumberSTYLE = 0 bedeutet "kein number style" wogegen wenn WPAT_NumberSTYLE fehlt dies bedeutet, dass hier kein stil definiert ist.

    Das Ergebnis ist meist das gleiche, aber es hängt vom Kontext ab aufgrund der Vererbung.

    Leider ist Nummerierung ein komplexes Thema und verträgt sich nicht gut mit dem Prinzip der Eigenschaft Vererbung.