I am working in a modeling domain (using wireless and DE directors)
where the ability to add actors during execution is important, and most
of these actors are instances of custom-built CompositeActors without
directors of their own.  I get an exception when trying to add one  -
"Can only create receivers on opaque ports".  This results from
preinitialize() being called on the non-opaque actor.  

 

Stepping through the code, I see that when execution begins, the
directors use the deepEntityList method to ensure that preinitialize()
is only called on opaque actors, but apparently if an actor is added
during execution the manager calls preinitialize() regardless. Is there
a way to prevent this from occurring?  

 

The custom composite actors are not defined in code, so I cannot
override preinitiailze() to avoid creating port receivers; I could
conceivably add directors to these actors to make them opaque but that
would require considerable reworking on how the other parts of the
composite actor work.  

 

Thanks,

Ryan

 

Ryan Timmons

Software Engineer

Lockheed Martin Space Systems Company

Advanced Technology Center, Building 153

1111 Lockheed Martin Way, Sunnyvale CA

Work: 408-742-1189     Cell: 248-895-1935

[EMAIL PROTECTED]

 

Reply via email to