Auf die Schnelle könnten Sie als Workaround versuchen, die Eigenschaft CheckUsedIdentifiers an der ListLabel-Komponente auf false zu setzen. Wenn das nichts hilft müssten wir uns das einmal im Support detaillierter anschauen, es ist mir aus dem Log nicht klar, warum das Feld nicht angemeldet wird, wir müssten in dem Fall dann einen genaueren Blick auf die Datenquelle werfen.
Dann sollten Sie das erstmal so im Code lassen. Wenn Sie eine Untersuchung der Ursache wünschen, können Sie jederzeit gerne einen Supportcase eröffnen. Nachteile haben Sie lediglich bei der Performance zu befürchten, aber das würde sich nur bei Datenquellen mit sehr vielen Feldern merklich auswirken.
es schon wieder eine Weile her, aber ich bin heute wieder drüber gefallen: Ein Bericht geht im Designer sauber auf, im Preview aber nicht. Die Fehlermeldung sagt, dass ein Feld nicht gefunden wurde.
Feldname RED → so stehts auch im Designer
Tatsächlich gibt das dto aber Red aus
Das wirft einen Fehler in Preview.
Ist das Absicht oder habe ich etwas falsch eingestellt? CheckUsedIdentifiers habe ich nicht verändert.
Wenn ich es richtig verstehe, wird im Designer ein Feld “RED” angemeldet, und auch ausgegeben? Was genau ist in diesem Zusammenhang mit “dto”-Ausgabe gemeint? Bei einem Vorschaudruck erhalten Sie dann die Meldung, dass das Feld “RED” nicht gefunden werden konnte? Wie genau lautet die Fehlermeldung?
Ein Log-Datei kann auch hier wertvolle Hinweise liefern.
der Bericht erhält über die DataProviderCollection mehrere List, eine davon ist CR86Legend. Mit dto meine ich data transfer object. Die Klasse dazu sieht so aus:
public class CR86Legende
{
public string Liste { get; set; }
public string ConfigKey { get; set; }
public string ConfigString { get; set; }
public int Red { get; set; }
public int Green { get; set; }
public int Blue { get; set; }
}
Irgendwann habe ich die Properties RED auf Red umbenannt, das im LL Report aber nicht nachgezogen. Beim Entwickeln starte ich bei mir immer den Designer, der Tester und die Kunden sehen immer die Vorschau.
Im Designer kann dieser Bericht problemlos geöffnet und auch angezeigt werden, es werden auch die erwarteten Daten angezeigt.
Im Preview wird unter anderem (auch für alle anderen Properties) diese Meldung geworfen:
Debwin4::CSV::V1;TypeCode;Timestamp;Level;Logger;Thread;Properties;Message
;1000;13.07.2022 12:27:47.727;4;LL.Generic;56D8;100:2=CXLL27:diamonds:101:1=2; ERR: error parsing formula ‘RGB(CR86Legende.RED,CR86Legende.GREEN,CR86Legende.BLUE)’: Syntaxfehler: ‘CR86Legende.RED’ kann nicht interpretiert werden
Es wirkt so, als ob der Designer nicht case sensitiv sei, Preview aber schon. Eventuell ist das auch ein Thema einer älteren LL Version: Ich habe das gestern korrigiert und versucht heute wieder nachzustellen - das ist mir nicht mehr gelungen.
Es handelt sich weniger um ein aktutes Problem für mich sondern eher um eine Nachfrage, wie LL mit Feldnamen umgeht: base sensitiv oder nicht bzw. ob das einstellbar ist.
Standardmäßig sind Feld- und Variablennamen für List & Label nicht großschreibungssensitiv. Dies können Sie jedoch über die OptionLL_OPTION_VARSCASESENSITIVE beeinflussen.
LL_OPTION_VARSCASESENSITIVE
TRUE: Variablen- und Feldnamen sind großschreibungssensitiv.
Vorsicht: Dennoch dürfen auch dann sich Variablen-/Feldnamen nicht nur in der Groß-/Kleinschreibung unterscheiden!
FALSE: Groß- und Kleinschreibung wird ignoriert: “Name” ist gleichwertig mit “NAME” (Voreinstellung).
Rufen Sie im Code die Option vorLlGetUsedIdentifiers() auf, um die Variablen/Felder so rauszulesen wie im Dokument gespeichert.
Ich habe dasselbe Problem das es im Designer geht, aber beim Export nicht. Es liegt an der Groß- und Kleinschreibung. Ich habe explizit LL_OPTION_VARSCASESENSITIVE = false,es funktioniert aber nur wenn auch CheckUsedIdentifiers = false.
Sollte LL_OPTION_VARSCASESENSITIVE nicht ausreichend sein?
Das müssten wir uns im Rahmen des Supports mal am lebenden Objekt ansehen. An sich sollte die eine Eigenschaft ausreichen. Melde dich gerne bei unserem Support, am besten mit einem Beispiel, im ersten Schritt reichen vielleicht auch eine Logdatei und die Projektdatei.