Image in ObjectDataProvider an Webdesigner senden

Hallo,

bei Verwendung von List&Label 25 Webdesigner erhalte ich bei Verwendung einer System.Drawing.Image Property in Datenobjekten, die über ObjectDataProvider an LL gebunden werden, im Webdesigner einen String angezeigt und kein Bild.

Beispiel:
public class MyData
{
public string MyString { get; set; }
public System.Drawing.Image MyImage { get; set; }
}

Eine Instanz dieser Klasse wird befüllt und per ObjectDataProvider an den Webdesigner übergeben.

Eine Lösung über den Repositorymechanismus funktioniert nur wenn man im Designer mit den Dateinamen arbeitet? Eine Lösung direkt mit den Bildern zu arbeiten ist einfacher anzuwenden und wir können die Bilder im Hintergrund cachen ohne das List&Label bei der Ausgabe diese Bilder vom Dateisystem laden muss.

Wie ist es möglich die Bilddateien im Webdesigner als System.Drawing.Image zu übergeben?

Danke für Ihre Antwort.

Hallo Christian,

Willkommen in unserem Forum!

Das beschriebene Verhalten wird im kommenden List & Label Service Pack 25.002 angepasst.

Wir rechnen mit einem möglichen Erscheinungsdatum des Service Packs mit Anfang/Mitte Mai. Unser RSS-Feed informiert Sie zeitnah und unkompliziert über neue Service Packs. Abonnement auf der Service Pack Download Seite: An-Abmelden

Hallo,

ich habe heute das Service Pack 25.002 eingespielt.
Leider erhalte ich eine Fehlermeldung beim Starten des Webdesigners:

Es ist ein Fehler aufgetreten.

StartIndex darf nicht kleiner als Null sein.
Parametername: startIndex

Der Statustext des Fensters ist: Datenquelle wird geladen.

Windows Eventlog enthält folgende Informationen:

Anwendung: combit.ListLabel25.WebDesigner.exe
Frameworkversion: v4.0.30319
Beschreibung: Der Prozess wurde aufgrund einer unbehandelten Ausnahme beendet.
Ausnahmeinformationen: System.AccessViolationException
bei System.Windows.Forms.SafeNativeMethods.LoadCursor(System.Runtime.InteropServices.HandleRef, Int32)
bei System.Windows.Forms.Cursor.LoadFromResourceId(Int32)
bei System.Windows.Forms.Cursors.get_IBeam()
bei System.Windows.Forms.TextBoxBase.get_DefaultCursor()
bei System.Windows.Forms.Control.get_Cursor()
bei System.Windows.Forms.Control.WmSetCursor(System.Windows.Forms.Message ByRef)
bei System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
bei System.Windows.Forms.TextBoxBase.WndProc(System.Windows.Forms.Message ByRef)
bei System.Windows.Forms.TextBox.WndProc(System.Windows.Forms.Message ByRef)
bei System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message ByRef)
bei System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)

Der Windows Designer arbeitet nach wie vor mit der .lst Datei und der Datenquelle.

Ich bringe das Verhalten direkt mit der für dieses Problem durchgeführten Korrektur in Verbindung.
Eine Korrektur für dieses Problem wäre recht dringend.

Für weitere Rückfragen stehe ich Ihnen gerne zur Verfügung.

Edit: Ich erhalte diesen Fehler auch bei Datenquellen die keine Images enthalten.
Edit2: Sogar bei Datenquellen die nur eine Zeichenkette beinhalten…

Vielen Dank für den wichtigen Hinweis. In der Tat kann diese Exception mit 25.002 auftreten, ich habe mir das eben angesehen - es passiert immer dann, wenn Sie eine Datenquelle an den Webdesigner anbinden, die nicht alle Tabellen als Basistabelle unterstützt (z.B. XML oder eben der ObjectDataProvider), dabei aber nicht das ISupplyBaseTables-Interface implementiert. Bitte melden Sie sich unter Bezug auf diesen Thread kurz bei unserem Support, dann stellen wir Ihnen einen Hotfix zur Verfügung.

Ein Workaround sollte es sein, auf der Serverseite für die Datenquelle statt des ObjectDataProvider eine DataProviderCollection zu verwenden und in diese nur genau Ihren bisherigen Provider hinzuzufügen. Dann sollte die Exception ebenfalls nicht mehr auftreten.

1 Like

Mittlerweile haben wir via Support auch eine weitere Verbesserung für das ursprüngliche Problem vorgenommen. Image-Properties werden jetzt korrekt unterstützt und serialisiert.