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

Daniel Waddington dwadding at atl.lmco.com
Thu Dec 8 12:49:19 CST 2005


Urgh, thanks Peter.  For the moment I am going to take another tack,  
by using two interpreters, one to push and one to pull.  I have  a  
demo to do shortly so time is pressing.

Thanks again.
Daniel.


On Dec 8, 2005, at 12:46 PM, Peter Volgyesi wrote:

> Daniel,
>
> The problem is that - although one can implement add-on and  
> interpreter
> "interfaces" on the same component - BON2 does not support this  
> completely.
> Your particular problem can be solved by re-defining EXCETYPE in
> ComponentObj.cpp after line 114:
>
> #undef EXCETYPE
> #define EXCETYPE (componenttype_enum)(COMPONENTTYPE_ADDON |
> COMPONENTTYPE_INTERPRETER)
>
> I've tried to implement a hybrid component in BON2. The easiest way  
> is to
> start as an add-on, since add-ons also have the invokeex method. By  
> making
> the modification above, I was able to invoke my add-on as an  
> interpreter.
> Now, I am running into some problems with object destructions at  
> the end of
> invokeex. I suspect, that nobody ever made a hybrid BON2  
> interpreter, so you
> should be prepared for problems. At this moment I would suggest to  
> implement
> a hybrid interpreter in raw COM (like the Contraint Manager).
>
> --
> 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: Thursday, December 08, 2005 10:24 AM
>> To: A list for GME users to share thoughts and discuss bugs and  
>> fixes.
>> Subject: Re: [easel] Re: [gme-users] Invoking runComponent
>> from GME Addon.
>>
>> 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
>
> _______________________________________________
> 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
===============================






More information about the gme-users mailing list