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

Akos Ledeczi akos.ledeczi at vanderbilt.edu
Thu Dec 8 08:39:04 CST 2005


Dan,

my first thought is to provide a second invocation mechanism for the 
interpreter. So do not call it as an interpreter from the Add-on but 
simply call a new function that creates the proper context for the 
original interpreter code and executes it. (In other words, the Invoke 
or InvokeEx functions in BON would not be called, but a new function.) 
So it would execute in the transaction of the Add-on and it won't try to 
create its own. Yet it can still function as a regular interpreter when 
it is called from the GME gui.

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


More information about the gme-users mailing list