Hallo,
ich habe folgendes Problem und hoffe jemand kann mir helfen:
Ich habe ein Programm geschrieben, mit dem bestimmte Expression in einem Part über einen Dialog geändert werden können. Dazu frage ich die Expression-Werte ab und lege diese in einer Struktur (Array) ab. Dann will ich diese Werte an den Dialog übergeben (constructor callback) und dort editieren können (apply- und ok-callback). Am Ende übergebe ich die neuen Werte an die Expression-List zurück und führen ein Modell-Update aus. Ich habe nun Probleme meine Struktur an die Callback-Funktionen des UI-Styler Dialoges über die client_data zu übergeben. Hier mein Quellcode:
meine Struktur:
struct expression
{
string szName, szID; // Exp-Name , Dialog Object ID
string szValue, szValue_temp, szExp; // Exp-Wert
...
};
typedef struct expression expression_t, *expression_p_t;
Ich habe 4 Expressions, die ich über eine Funktion initialisiere:
expression EXP[4];
.
.
initialize_ST(EXP, 0, LIST, "InsrType", "INSRTYPE");
.
// Struktur INDEX TYPE Exp-Name Exp-object ID
...
und über eine andere Funktionen mit Werten belege. Bis hier funktioniert alles supper.
Nun will ich dieses Struktur-Array an die Callbacks übergeben ( &EXP ):
UF_STYLER_create_dialog("Test.dlg", TEST_cbs, 5, &EXP, &resp);
Mit constructor-callback setzen ich die abgefragten Werte in die entsprechenden Felder meines Dialoges:
static int TEST_const_cb ( int dialog_id, void * client_data,
UF_STYLER_item_value_type_p_t callback_data)
{
expression_p_t Exp = (expression_p_t)client_data;
UF_STYLER_item_value_type_t set_value;
...
wenn ich hier auf ein Element der Struktur zugreifen will ist diese leer:
cout << \n Expression-Name Feld 1: "<< EXP[0].szName;
...
Wo ist mein Fehler oder kann ich kein Struktur-Array in dieser Form übergeben???
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP