[easel] Re: [gme-users] Invoking runComponent from GME Addon.

Akos Ledeczi akos.ledeczi at vanderbilt.edu
Thu Dec 8 10:31:58 CST 2005


Peter is looking into it because it seems that BON2 does not handle this 
well. The Constraint Manager is a raw COM component and that works. 
Also, the original BON is not a good candidate to use as an add-on, 
since it creates builder objects for all model object at startup, so it 
is too heavyweight. Are you using BON2?

Akos


Daniel Waddington wrote:
> Hmm, apparently this is more complicated.  GME now thinks it is an  
> AddOn and will not let me run it as an interpreter!
> 
> Ideas?
> 
> Daniel.
> 
> 
> On Dec 8, 2005, at 10:19 AM, Daniel Waddington wrote:
> 
>> How do I make the interpreter an addon apart from defining  GME_ADDON 
>> or whatever the symbol is?
>>
>> Daniel.
>>
>> On Dec 8, 2005, at 10:16 AM, Akos Ledeczi wrote:
>>
>>>
>>> The second idea is to make the interpreter, that you want to call  
>>> from the Add-on, an Add-on itself. Then it will be called by GME  
>>> automatically. The Constraint Manager is a similar animal: you can  
>>> call it from the GME gui and it is called by events also.
>>>
>>> Akos
>>>
>>>
>>> Daniel Waddington wrote:
>>>
>>>> Larry,
>>>> I have a GME Addon which will happily respond to events from the   
>>>> outside IDE.  But as part of the event processing I need to make  
>>>> sure  that a given interpreter is run.  Instead of getting the  
>>>> addon to  trigger the interpreter, is there a way to externally  
>>>> trigger an  interpreter?
>>>> Is this clearer?
>>>> Thanks,
>>>> Daniel.
>>>> On Dec 7, 2005, at 7:16 PM, Larry Howard wrote:
>>>>
>>>>> Jonathan,
>>>>>
>>>>> The issue here has transitioned to invoking a component from  
>>>>> within an
>>>>> event-based AddOn.  The problem, conceptually, is that AddOns  are  
>>>>> invoked in
>>>>> a late phase of transaction-processing.  The context is really  
>>>>> very  wrong
>>>>> for component invocation, since components are themselves   
>>>>> transaction-based.
>>>>>
>>>>> The possibility for externally generating events has been  
>>>>> addressed  already
>>>>> in the affirmative.  There are some issues of communicating
>>>>> application-specific data for the event from an external  source,  
>>>>> and Peter
>>>>> has provided a functional (if somewhat tortured) workaround.
>>>>>
>>>>> It might be better if Daniel were to tell us more about the  
>>>>> "what"  without
>>>>> choosing yet a "how".  For example, just as it is possible to   
>>>>> invoke an
>>>>> AddOn externally, by generating a global or object event, it is   
>>>>> possible to
>>>>> invoke a model interpreter externally.  Perhaps the external  
>>>>> entity  should
>>>>> be orchestrating.  I don't know because I don't know what Daniel  
>>>>> is  trying
>>>>> to accomplish.
>>>>>
>>>>> -----Original Message-----
>>>>> From: gme-users-bounces at list.isis.vanderbilt.edu
>>>>> [mailto:gme-users-bounces at list.isis.vanderbilt.edu] On Behalf  Of  
>>>>> Jonathan
>>>>> Sprinkle
>>>>> Sent: Wednesday, December 07, 2005 5:52 PM
>>>>> To: 'gme-users'
>>>>> Cc: easel at atl.lmco.com
>>>>> Subject: RE: [easel] Re: [gme-users] Invoking runComponent from  
>>>>> GME  Addon.
>>>>>
>>>>>
>>>>> Peter,
>>>>>
>>>>> Is this a possible enhancement to GME? It seems like if the  AddOn  
>>>>> is running
>>>>> and waiting for events that there should be *some* way to send  an  
>>>>> event
>>>>> externally...after all, the mouse can do it. ;)
>>>>>
>>>>> Daniel,
>>>>>
>>>>> Maybe for demo purposes we can just have a special interpreter  
>>>>> that  does
>>>>> this interfacing (read: generate the event which the addon is   
>>>>> listening
>>>>> for...) and work with Peter to figure out how to generate this  
>>>>> through
>>>>> visual studio's editor later?
>>>>>
>>>>> I'm a little spotty following this conversation, I'll try to  
>>>>> catch  up on the
>>>>> thread this evening....
>>>>>
>>>>> Jonathan
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: easel-bounces at atl.lmco.com [mailto:easel- bounces at atl.lmco.com]
>>>>>> On Behalf Of Daniel Waddington
>>>>>> Sent: Wednesday, December 07, 2005 2:43 PM
>>>>>> To: A list for GME users to share thoughts and discuss bugs  and  
>>>>>> fixes.
>>>>>> Cc: easel at atl.lmco.com
>>>>>> Subject: [easel] Re: [gme-users] Invoking runComponent from  GME  
>>>>>> Addon.
>>>>>>
>>>>>> Hi Peter,
>>>>>>
>>>>>> So basically your saying there is no way to trigger an interpreter
>>>>>> from an IMgaProject interface? Oh dear. Now I really am stuck ;-(
>>>>>>
>>>>>> Daniel.
>>>>>>
>>>>>> On Dec 7, 2005, at 1:39 PM, Peter Volgyesi wrote:
>>>>>>
>>>>>>> You are right, you cannot invoke another interpreter from the  event
>>>>>>> handler.
>>>>>>>
>>>>>>> Even if you would invoke it by using a lower level COM API, it
>>>>>>> failed, since the interpreter would (try to) initate a  transaction
>>>>>>> on its own.
>>>>>>>
>>>>>>> -- 
>>>>>>> Peter Volgyesi
>>>>>>> Vanderbilt University, ISIS
>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: gme-users-bounces at list.isis.vanderbilt.edu
>>>>>>>> [mailto:gme-users-bounces at list.isis.vanderbilt.edu] On Behalf Of
>>>>>>>> Daniel Waddington
>>>>>>>> Sent: Wednesday, December 07, 2005 11:51 AM
>>>>>>>> To: A list for GME users to share thoughts and discuss bugs and
>>>>>>>> fixes.
>>>>>>>> Subject: Re: [gme-users] Invoking runComponent from GME Addon.
>>>>>>>>
>>>>>>>> Short of discussing this with my self, is this because I am  
>>>>>>>> already
>>>>>>>> in a transaction, and runComponent tries to create a new
>>>>>>>> transaction? or am I totally off?
>>>>>>>>
>>>>>>>> Daniel.
>>>>>>>>
>>>>>>>> On Dec 7, 2005, at 8:58 AM, Daniel Waddington wrote:
>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> I think I am seriously missing something in the execution
>>>>>>>>
>>>>>>>>
>>>>>>>> architecture
>>>>>>>>
>>>>>>>>> of BON2.  In my object event handling method, inside a GME  Addon,
>>>>>>>>> I want to trigger an interpreter.
>>>>>>>>>
>>>>>>>>> So I thought I could do..
>>>>>>>>>
>>>>>>>>> object->getProject()->runComponent("MGA.Interpreter.EML");
>>>>>>>>>
>>>>>>>>> but then I get an exception in COMCLASS::Initialize(struct
>>>>>>>>
>>>>>>>>
>>>>>>>> IMgaProject
>>>>>>>>
>>>>>>>>> *p) in a some CComPtr declaration???
>>>>>>>>>
>>>>>>>>> Please help, I'm in dispair!!!
>>>>>>>>>
>>>>>>>>> Daniel.
>>>>>>>>>
>>>>>>>>> ===============================
>>>>>>>>>  Dr. Daniel G. Waddington
>>>>>>>>>  Lockheed Martin ATL
>>>>>>>>>  3 Executive Campus, 6th Floor
>>>>>>>>>  Cherry Hill, NJ 08002
>>>>>>>>>  Tel:856 792 9740
>>>>>>>>> ===============================
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> gme-users mailing list
>>>>>>>>> gme-users at list.isis.vanderbilt.edu
>>>>>>>>> http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> ===============================
>>>>>>>>   Dr. Daniel G. Waddington
>>>>>>>>   Lockheed Martin ATL
>>>>>>>>   3 Executive Campus, 6th Floor
>>>>>>>>   Cherry Hill, NJ 08002
>>>>>>>>   Tel:856 792 9740
>>>>>>>> ===============================
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> gme-users mailing list
>>>>>>>> gme-users at list.isis.vanderbilt.edu
>>>>>>>> http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> gme-users mailing list
>>>>>>> gme-users at list.isis.vanderbilt.edu
>>>>>>> http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users
>>>>>>
>>>>>>
>>>>>>
>>>>>> ===============================
>>>>>>   Dr. Daniel G. Waddington
>>>>>>   Lockheed Martin ATL
>>>>>>   3 Executive Campus, 6th Floor
>>>>>>   Cherry Hill, NJ 08002
>>>>>>   Tel:856 792 9740
>>>>>> ===============================
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> easel mailing list
>>>>>> easel at atl.lmco.com
>>>>>> http://www.atl.external.lmco.com/mailman/listinfo/easel
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> gme-users mailing list
>>>>> gme-users at list.isis.vanderbilt.edu
>>>>> http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users
>>>>>
>>>>> _______________________________________________
>>>>> gme-users mailing list
>>>>> gme-users at list.isis.vanderbilt.edu
>>>>> http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users
>>>>
>>>> ===============================
>>>>  Dr. Daniel G. Waddington
>>>>  Lockheed Martin ATL
>>>>  3 Executive Campus, 6th Floor
>>>>  Cherry Hill, NJ 08002
>>>>  Tel:856 792 9740
>>>> ===============================
>>>> _______________________________________________
>>>> gme-users mailing list
>>>> gme-users at list.isis.vanderbilt.edu
>>>> http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users
>>>
>>> _______________________________________________
>>> gme-users mailing list
>>> gme-users at list.isis.vanderbilt.edu
>>> http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users
>>
>>
>> ===============================
>>  Dr. Daniel G. Waddington
>>  Lockheed Martin ATL
>>  3 Executive Campus, 6th Floor
>>  Cherry Hill, NJ 08002
>>  Tel:856 792 9740
>> ===============================
>>
>>
>>
>>
>> _______________________________________________
>> gme-users mailing list
>> gme-users at list.isis.vanderbilt.edu
>> http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users
> 
> 
> ===============================
>  Dr. Daniel G. Waddington
>  Lockheed Martin ATL
>  3 Executive Campus, 6th Floor
>  Cherry Hill, NJ 08002
>  Tel:856 792 9740
> ===============================
> 
> 
> 
> 
> _______________________________________________
> gme-users mailing list
> gme-users at list.isis.vanderbilt.edu
> http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users


More information about the gme-users mailing list