From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,d7cc034a367221eb X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-02-07 20:38:06 PST Path: supernews.google.com!sn-xit-03!supernews.com!freenix!oleane.net!oleane!news.maxwell.syr.edu!cpk-news-hub1.bbnplanet.com!news.gtei.net!newshub2.home.com!news.home.com!news1.frmt1.sfba.home.com.POSTED!not-for-mail From: tmoran@acm.org Newsgroups: comp.lang.ada Subject: Re: accessing subprogram & inheritance problem References: <3A81FC28.90BD0ABB@lmco.com> X-Newsreader: Tom's custom newsreader Message-ID: Date: Thu, 08 Feb 2001 04:36:48 GMT NNTP-Posting-Host: 24.20.190.201 X-Complaints-To: abuse@home.net X-Trace: news1.frmt1.sfba.home.com 981607008 24.20.190.201 (Wed, 07 Feb 2001 20:36:48 PST) NNTP-Posting-Date: Wed, 07 Feb 2001 20:36:48 PST Organization: Excite@Home - The Leader in Broadband http://home.com/faster Xref: supernews.google.com comp.lang.ada:4964 Date: 2001-02-08T04:36:48+00:00 List-Id: >How do you implement COM type interfaces in Ada? Roughly: type QueryInterface_Spec is access function (This : access VTable_Type; riid:Pointer_To_Constant_GUID; ppvObj:Pointer_To_Interface) return HResult; pragma Convention(StdCall,QueryInterface_Spec); type AddRef_Spec is access function (This : access VTable_Type) return UInt; pragma Convention(StdCall,AddRef_Spec); ... type VTable_Type is record QueryInterface : QueryInterface_Spec; AddRef : AddRef_Spec; ... Look at David Botton's GNATCOM at www.adapower.com for automatic tools, explanation, etc.