This is a summary of a private communication I had with Josef Springer
from JOOPS that I want to share regarding my initial request. THomas > So you just unload the examples, but not the development packages. > That is the point I wanted to show, that development packages are > required for deployment of COM interfaces which seems > counter-intuitive to me. > > Would you mind citing this mail in public so that others may profit > from that, too? > > Thanks for sharing your COM knowledge > > Thomas > > > Josef Springer schrieb: >> Hi Thomas, >> >> we use COM heavily too. For deployment we unload some defined parcels >> only with: >> /Parcel unloadParcelNamed: 'Com- Automation Examples'. >> Parcel unloadParcelNamed: 'Com- Automation Examples Pools'. >> Parcel unloadParcelNamed: 'Com- Ole Examples'./ >> We leave the other classes in the image and it works with our >> interfaces, whitch are loaded in deployment as parcels. From Cincom >> we got the hint to set the optimazion level for deployment. >> >> Best Regrards, >> Josef Springer >> >> Thomas Brodt wrote: >>> Thanks for the answer, but the problem is not the external interface >>> class itself, but that I should extend an external interface class >>> with my vtbl definitions that is in development packages, so the >>> whole class isn't available in runtime/deployment. >>> >>> Thomas >>> >>> >>> Josef Springer schrieb: >>>> Hi Thomas, >>>> >>>> may be you must prepeare the external interfaces for deployment with: >>>> >>>> *(Metaclass allInstances select: [:aClass| aClass inheritsFrom: >>>> ExternalInterface class]) do: [:aClass| aClass soleInstance >>>> optimizationLevel: #full; fillDefineCachesWithValues]. >>>> * >>>> Best Regards, >>>> Josef Springer >>>> >>>> Thomas Brodt wrote: >>>>> >>>>> Hi all >>>>> >>>>> I currently struggle with the fact that COM interfaces are not >>>>> initialized properly for deployment loading. I want to load my Com >>>>> extensions into a development image, but without requiring the >>>>> Com-Ole-Development packages. COM should just load COM deployment >>>>> packages, while the image itself is a development image. >>>>> >>>>> I have several interfaces defined in my packages, but of course >>>>> implicitly also use basic types as IAnonymous or IUnknown. As >>>>> prerequisites I have defined Com-Ole amongst others. Several basic >>>>> COM Implementation classes as e.g. IUnknown are packaged in >>>>> Com-Ole which seems to be a deployment package in my eyes. >>>>> >>>>> Internal methods like #constructVTableDescription in Com-Ole >>>>> however use the shared var VTableSignaturesPool on class >>>>> COMInterfaceImplementation, defined in Com-Ole. This shared var is >>>>> not initialized from within Com-Ole, but from Com-Ole-Development >>>>> which contains the Vtbl descriptions for these IUnknown, etc. So >>>>> Vtbl descriptions are only present with Com-Ole-Development >>>>> loaded. But constructVtableDescription needs it. Also, class >>>>> COMInterfaceVTableSignatures should, according to the docs, >>>>> contain additional custom interface vtbl, but the class is defined >>>>> in Com-Ole-Development. It is therefore not available if only >>>>> COM-Ole is loaded. Where do I store my vtbl descriptions at runtime? >>>>> >>>>> Invocations of e.g. the mandatory createInnerUnknown runtime >>>>> method for COMObjects invoke a validation that requires the Vtbl >>>>> descriptions. The validation has a guard clause of >>>>> "ImageConfiguration isDevelopment" which seems insufficient in my >>>>> case. ImageConfiguration reflects the global image state of being >>>>> runtime or development, but does not check if Com-Development is >>>>> available. >>>>> >>>>> Now the question: Am I wrong with any of my assumptions above? or >>>>> are the Com classes packaged inappropriately? Or am I missing some >>>>> pre-deployment step? >>>>> >>>>> Thanks for any comments >>>>> >>>>> Thomas >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>> >>> >>> >> >> -- >> >> mit freundlichen Grüßen / best regards, >> Josef Springer >> (Geschäftsleitung/Management) >> >> Postal >> Address >> _Josef.Springer@joops.com_ >> Orlando-di-Lasso Str. 2 >> D-85640 Putzbrunn >> Phone >> Office >> +49 (0)89 600 6920 >> >> >> Phone Fax >> +49 (0)89 600 69220 >> >> >> Web >> Web >> http://www.joops.com >> >> >> >> JOOPS >> (HRB München 86239) >> >> *-- the software company --* >> > > > -- mit freundlichen Grüßen / best regards, Josef Springer (Geschäftsleitung/Management) Postal Address _Josef.Springer@joops.com_ Orlando-di-Lasso Str. 2 D-85640 Putzbrunn Phone Office +49 (0)89 600 6920 Phone Fax +49 (0)89 600 69220 Web Web http://www.joops.com JOOPS (HRB München 86239) *-- the software company --* _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Free forum by Nabble | Edit this page |