Hallo miteinander.
Ich habe vor kurzem angefangen in UG/Open zu programmieren, primär um Knowledge Fusion Anwendungen um einige Funktionen zu erweitern. Nun habe ich folgendes Problem :
Ich möchte aus KF heraus eine optionale String Variable an die Open Routine übergeben. Gemäß der Anzahl an Argumenten hat Open diese auch erhalten. Nur dummerweise finde ich sie in dem Array der die Argumente enthält nicht wieder. Die Funktion in KF ist wie folgt definiert:
Defun: call_ufunc(list $input_list,string ($optional_string;"string"),
string ($lib; "libary.dll");
string ($name; "function_name") )
@{ CFunc("UF_KF_invoke_user_function"; "libufun"); }
list;
Die Funktion in UG/Open sieht so aus:
extern DllExport void function_name(UF_KF_value_t *input_data,int arg_count,UF_KF_value_t *return_list)
Ich bekomme keinerlei Fehlermeldungen, die eigentliche Funktion, die Verarbeitung der Liste, funktioniert auch. Nur den String, den finde ich nicht.Wenn ich den String nicht als optionalen sondern als benötigten Parameter definiere hab ich keine Probleme.
Vielen Dank im Voraus für evtl. Antworten
Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP