UDataTable Row mit Daten zu bestehender Tabelle hinzufügen

  • Hallo,

    ich bin zur zeit dabei, ein Plugin über die c++ API von Unreal Engine zu entwickeln und komme an einer Stelle nicht weiter. Ich möchte zur Laufzeit XML Dateien auslesen und aus diesen Daten zur Laufzeit ein Datatable Asset erzeugen. Ich schaffe es bereits mittels Code ein DataTable zu erzeugen und eine Struct zuzuweisen. Das Asset wird registriert und erscheint im Content Browser. Im Code selbst wird eine UDataTable Instanz erzeugt, die auf das entsprechende Datatable Asset verweist. Allerdings schaffe ich es nicht, Rows zum bestehenden Datatable hinzuzufügen. Die Dokumentation ist an dieser Stelle auch nicht sonderlich hilfreich. Dort habe ich AddRow als Funktion gefunden, die so klingt, als würde sie genau das machen, was ich möchte. Diese Funktion erwartet allerdings neben einem Namen für die Reihe auch eine FTableRowBase Instanz, die anscheinend die hinzuzufügenden Daten repräsentiert. FTableRowBase hat allerdings nur einen Standartkonstruktor und ich weiß nicht, wie ich auf diesem Wege die Daten, die ich aus der XML Datei ausgelesen habe, als Reihe in die Tabelle einfügen kann. Ich habe das ganze schon einmal mit dem Standartkonstruktor ausprobiert, dann kann allerdings das Datatable Asset nicht mehr geöffnet werden und Unreal stürzt ab (Auf eine Adresse im Hauptspeicher kann nichtmehr zugegriffen werden). Meine zweite Vermutung war als zweites Argument die Struct anzugeben, mit der ich auch die Tabelle erzeugt habe, doch dann gibt es einen Cast Fehler, obwohl ich dachte, dass die Struct eines DatatableAssets von FTableRowBase erben muss.


    Ich hoffe sehr, dass mir jemand helfen kann.


    Hier ist mein aktueller Code:

  • Sleepy

    Hat das Thema freigeschaltet.