Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX
  UG/Open und Knowledge Fusion

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX
  
Prüfplan für NX | Schließen Sie die Lücke zwischen Konstruktion und Qualität. , eine App
Autor Thema:  UG/Open und Knowledge Fusion (967 mal gelesen)
Christian_K
Mitglied


Sehen Sie sich das Profil von Christian_K an!   Senden Sie eine Private Message an Christian_K  Schreiben Sie einen Gästebucheintrag für Christian_K

Beiträge: 8
Registriert: 30.04.2004

erstellt am: 30. Apr. 2004 13:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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

berberic
Mitglied
Software-Developer


Sehen Sie sich das Profil von berberic an!   Senden Sie eine Private Message an berberic  Schreiben Sie einen Gästebucheintrag für berberic

Beiträge: 113
Registriert: 04.02.2003

Don't worry be happy.
Michael

erstellt am: 03. Mai. 2004 23:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Christian_K 10 Unities + Antwort hilfreich

Hallo Christian,

ich kann mir nicht vorstellen, das Dein Konstrukt mit optionalem
Parameter in Verbindung mit UG/Open funktionieren kann. Wenn ich
mich richtig besinne, sind optionale Argumente bzw. Argumente mit
Defaultwerten laut KF-Definition nur am Ende der Parameterliste
zulässig (ähnlich wie in C-Ellipsen oder in C++). Bei der Übergabe
an UG/Open ist aber immer der Funktions- und der Bibliotheksname
erforderlich. Ich würde alle optionalen Argumente innerhalb einer
KF-Liste (eventuell auch verschachtelt), übergeben. Wenn ein Argument
nicht übergeben werden soll dann ist es halt eine Nullliste (ein
Listenelement ohne Inhalt). Das hat bei mir eigentlich immer sehr
gut funktioniert und Mehrdeutigkeiten können damit erst gar nicht
auftreten. Eventuell veröffentlichst Du deinen Source, damit wir
damit etwas herumexperimentieren können.

Gruß Michael

------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Christian_K
Mitglied


Sehen Sie sich das Profil von Christian_K an!   Senden Sie eine Private Message an Christian_K  Schreiben Sie einen Gästebucheintrag für Christian_K

Beiträge: 8
Registriert: 30.04.2004

erstellt am: 04. Mai. 2004 22:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Wie gesagt, die Anzahl an erhaltenen Argumenten in Open stimmt ja. Es funktioniert auch wenn man den optionalen Parameter im Aufruf mit übergibt, nur mit dem Default Wert stimmt was nicht. Ich hab' die Funktion einfach in eine 2.te eingepackt, funktioniert auch gut. Danke für die Mühen trotz alledem.

Christian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz