Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Pro ENGINEER
  J-Link - Tollkit

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 PTC CREO
Autor Thema:  J-Link - Tollkit (1004 mal gelesen)
fly
Mitglied
Leitender Angestellter


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

Beiträge: 176
Registriert: 02.08.2004

WF3 M230
Windchill 9.1
FCS R630
WinXP SP3

erstellt am: 05. Aug. 2008 08:43    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

Ich hab folgendes Problem:
Ich versuche über J-Link eine Toolkit Funktion aufzurufen, aber die Übergabe der Parameter funktioniert nicht:

J-Link:

Code:

    public void ProductViewExport (String ModelName, String pvPath, String pvName) throws jxthrowable
    {
        ArgValue ModelNameArgVal = pfcArgument.CreateStringArgValue(ModelName);
        Argument ModelNameArg = pfcArgument.Argument_Create("MODEL_NAME", ModelNameArgVal);
       
        ArgValue pvPathArgVal = pfcArgument.CreateStringArgValue(pvPath);
        Argument pvPathArg = pfcArgument.Argument_Create("PV_PATH", pvPathArgVal);       

        ArgValue pvNameArgVal = pfcArgument.CreateStringArgValue(pvName);
        Argument pvNameArg = pfcArgument.Argument_Create("PV_NAME", pvNameArgVal);

        Arguments args = Arguments.create();
        args.append(ModelNameArg);
        args.append(pvPathArg);
        args.append(pvNameArg);
        System.out.println("Try to export pvModel: ProductViewExport ("+ModelName+" , "+pvPath+" , "+pvName+")"+args.get(0).GetLabel());
        FunctionReturn test = dll.ExecuteFunction("ProductViewExport", args);
        System.out.println(test.GetFunctionReturn());
         
    }



Toolkit:

Code:

#include <ProToolkit.h>
#include <ProMdl.h>
#include <ProArray.h>
#include <ProModelitem.h>
#include <ProImportfeat.h>
#include <ProToolkitDll.h> /* for ProArgument */
#include <ProUtil.h>
#include <ProMessage.h>
#include <ProUIMessage.h>

/*====================================================================*\
FUNCTION: UserCreateImpfeatTask
PURPOSE:  Example task function in a Pro/TOOLKIT DLL
\*====================================================================*/
PRO_TK_DLL_EXPORT ProError  ProductViewExport (ProArgument* inputs,
                                                  ProArgument** outputs)
{
    ProError status;
ProValueData data;
ProName  name;
ProMdlType  type;
ProMdl  part;
ProPath  path;
ProName  pvName;
ProCharLine astr;
ProFileName WMSGFIL = {'m','s','g','_','u','g','d','w','g','.','t','x','t','\0'};

  status = ProArgumentByLabelGet (inputs, L"MODEL_NAME", &data);
  ProStringToWstring (name, data.v.s);


  status = ProArgumentByLabelGet (inputs, L"PV_PATH", &data);
  ProStringToWstring (path, data.v.s);

  sprintf(astr,"PV_PATH: %s ", path);
ProMessageDisplay (WMSGFIL,"USER %0s", astr);

  status = ProArgumentByLabelGet (inputs, L"PV_NAME", &data);
  ProStringToWstring (pvName, data.v.s);


  type = PRO_MDL_ASSEMBLY;
  status = ProMdlInit (name, type, &part);

  if (status!=PRO_TK_NO_ERROR)
{
sprintf(astr,"Model %s not been found", name);
ProMessageDisplay (WMSGFIL,"USER %0s", astr);
}

  status = ProProductviewExport (part , path , pvName );

if (status!=PRO_TK_NO_ERROR)
{
return status;
}

return PRO_TK_NO_ERROR;
}

int user_initialize()
{
    ProComment w_com;
ProError status;

    ProStringToWstring(w_com, "FAL (Fly Aplication Libary) started");
    status = ProTrailfileCommentWrite(w_com);

return status;

}
void user_terminate()
{
}



Was mache ich falsch?

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

fly
Mitglied
Leitender Angestellter


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

Beiträge: 176
Registriert: 02.08.2004

WF3 M230
Windchill 9.1
FCS R630
WinXP SP3

erstellt am: 05. Aug. 2008 09:23    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

Bin selbst draufgekommen

der Fehler war bei dem Convertieren des String auf Toolkit Seite:

Code:
ProStringToWstring (name, data.v.s);


jeweils ersetzen durch
Code:
ProWstringCopy (data.v.w,name,PRO_VALUE_UNUSED);


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)2023 CAD.de | Impressum | Datenschutz