[gme-users] MGAMeta: UsingDefinedFCOs
simon.goerke at ils.uni-stuttgart.de
Thu Mar 6 06:44:32 CST 2008
Indeed casting solved the problem - thanks.
> -----Original Message-----
> From: gme-users-bounces at list.isis.vanderbilt.edu
> [mailto:gme-users-bounces at list.isis.vanderbilt.edu] On Behalf
> Of Larry Howard
> Sent: Sunday, March 02, 2008 3:46 PM
> To: A list for GME users to share thoughts and discuss bugs and fixes.
> Subject: Re: [gme-users] MGAMeta: UsingDefinedFCOs
> In general, casting is a good first step when you run into
> this kind of issue. No guarantees, just a measure to ensure
> a particular interpretation of a returned COM pointer type.
> meta = win32com.client.gencache.GetModuleForProgID("Mga.MgaMetaFCOs")
> rFCOs = project.RootMeta.RootFolder.DefinedFCOs
> for rFCO in rFCOs:
> print meta.IMgaMetaFCO(rFCO).Name
> works fine for me.
> In searching over a large body of our Python code for GME, I find a
> significant amount of casting of Meta-related COM pointers. This is
> merely an observation from experience, but it bears out the above
> Larry Howard, Sr. Research Scientist
> Institute for Software Integrated Systems, Vanderbilt University
> On Mar 2, 2008, at 5:46 AM, Simon Görke wrote:
> > Hello everybody,
> > I have a problem accessing the FCOs of my Meta model from an
> > interpreter
> > written in Python / COM.
> > While a simple
> > print
> > 1).Name
> > works without problems, using
> > rFCOs = project.RootMeta.RootFolder.DefinedFCOs
> > print rFCOs.Count
> > for rFCO in rFCOs:
> > print rFCO.Name
> > is not successful. The number of meta entities returned by the
> > rFCOs.Count
> > seems correct, however I am not able to actually access the FCOs
> > returned
> > (Python gives me "AttributeError: <unknown>.Name").
> > Within the interpreter, I have to access ALL Meta Entities without
> > knowing
> > their names, so using the "DefinedFCOs" method seemed to be a good
> > idea to
> > me.
> > BTW: Using MGA Collections in general does not seem to be
> part of the
> > problem, as the follwing code snippet is working:
> > FCOs = project.RootFolder.ChildFCOs
> > for FCO in FCOs:
> > print FCO.Name
> > I really do not know how to go on on and wheather this
> issue results
> > from
> > lack of understanding on my side or even a problem in the GME /
> > Python COM
> > Interface?
> > Any advice is highly appreciated!
> > Thanks,
> > Simon
> > _______________________________________________
> > 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