05-06-2013 01:54 AM
Hi,
I am trying to execute a File Menu entrypoint from VC++ code.
can anyone please suggest how to do the same.
I have used below piece of code in my project to execyte the entrypoint.
Here, "Select Model" is one of the File menu item from my process model.
i wanted to execute "Select Model" menu item from VC++ code. but the below piece of code is executing operation failed message
I have doubt at my seqFile ptr. can you please suggest how to give process model seq file reference to seqFile ptr here.
{
ExecutionPtr newExecution = NULL;
TS::SequenceFilePtr seqFile =GetSequenceFile() ;
TS::SequenceFilePtr processModel = NULL;
TS::EditArgsPtr editArgs = NULL;
TS::EditArgsPtr seqArgs = NULL;
_bstr_t entryPointName ="Select Model";
TS::IEnginePtr engine = mApplicationMgr->GetEngine();
processModel = engine->GetStationModelSequenceFile(NULL);
editArgs = engine->NewEditArgs();
editArgs->SetSelectedSequenceFile(seqFile);
TS::PropertyObjectPtr container = engine->NewPropertyObject(PropValType_Container, FALSE, "", 0);
container->SetValString("sequence", 0x1, "MainSequence");
_variant_t vtEditArguments((LPDISPATCH)editArgs, TRUE);
_variant_t vtSeqArguments((LPDISPATCH)container, TRUE);
newExecution = engine->NewExecution(seqFile, entryPointName, processModel, 0,
TS::ExecTypeMask_InitiallyHidden, vtSeqArguments, vtEditArguments, vtMissing);
engine = NULL;
}
SequenceFilePtr CTestExecDlg::GetSequenceFile(void)
{
RuntimeTrace(" TRACE---------CTestExecDlg::GetSequenceFile(void) \n");//trace
return mFile;
}
05-22-2013 11:42 AM
I'm assuming you have a process model configuration entry point placed in the File menu via a menu hint and that it works fine from the File menu. If so, the following code will execute it:
long numInserted;
TSUI::CommandsPtr commands = mApplicationMgr->NewCommands();
commands->InsertKind(CommandKind_ConfigurationEntryPoints_Set, mSequenceFileViewMgr, -1, "File", "File, Edit, Execute, Debug, Configure, Tools, Help", &numInserted);
commands->GetItem(0)->Execute(VARIANT_TRUE);