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-Thread: 103376,56a94442d514b905 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!newsread.com!newsprint.newsread.com!newspeer1.nwr.nac.net!newspeer.monmouth.com!news-east.rr.com!news.rr.com!wns14feed!worldnet.att.net!216.196.98.144!border2.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local1.nntp.dca.giganews.com!nntp.comcast.com!news.comcast.com.POSTED!not-for-mail NNTP-Posting-Date: Thu, 11 Nov 2004 18:12:43 -0600 From: David Botton Newsgroups: comp.lang.ada Date: Thu, 11 Nov 2004 19:12:43 -0500 Message-ID: <2004111119124350073%david@bottoncom> References: <41933fb1$0$9742$ba620e4c@news.skynet.be> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: Plugins/Dynamic Libraries User-Agent: Unison/1.5.2 NNTP-Posting-Host: 66.176.74.83 X-Trace: sv3-WoIZLXbnXzXEF3BJIh51/n+R4Gi4MvSiJB1j/oV51lbWW/pS8dy4Oj9c/Yi9IrrRFw3nLfqb1caUclN!XWAmrUzkP/9CngaWh9Q1OHgyXZZ8Mer5kg+XCvegO11tFcqteMT8ZKixnO8bhw== X-Complaints-To: abuse@comcast.net X-DMCA-Complaints-To: dmca@comcast.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.20 Xref: g2news1.google.com comp.lang.ada:6159 Date: 2004-11-11T19:12:43-05:00 List-Id: On 2004-11-11 05:34:16 -0500, Adrien Plisson said: > well, let's relieve the pain: > for dynamic libraries under Windows, the accepted method is _NOT_ COM ! > the equivalent of Windows COM under Linux may be CORBA, and the > equivalent of Linux dlopen under Windows is LoadLibrary. I would not say they are equivalent. COM is also used as a spec for communication on a much smaller scale. As for being the accepted method, it depends on what you are trying to achieve. Most of the time COM is in fact preferable (encased in DLL, ie. an inproc server) since it is an automatic plug-in to Windows, .NET, VB, etc. DLLs still serve there place, but COM on Ada is easy to do and the results are far more flexible. I find that in most modern serious projects COM (on Windows and starting recently for Mac OS X) is in fact being used over a plain dll and in particular if you are looking to do plug-ins. In fact, on Mac OS X plug-in are also COM in a shared lib just like on Windows. COM is more of a spec for plug-ins that can interoperate than a distributed object system like CORBA. There is no reason not to use the COM "spec" in the same way on Linux for plug-ins. Take a look at InsideCOM (Microsoft Press) for an introduction to COM the spec (it doesn't serve as a good intro to COM on Windows incidentally) The GNATCOM framework though would need a little bit of work though to make it really viable though for use on Linux, but is very reasonably doable. I plan on a port of GNATCOM to OS X in the next year or so and that would be usable on Linux as well. On OS X it buys you the ability to plug-in to web browsers, etc. but on Linux you would still be able to use it for the purpose you are looking for. > > if you plan on working on this subject, try to use equivalent > mechanisms on each platform you target. > > please note that there are many bindings to those methods existing: > PolyORB, AdaBroker or ORBIT-Ada are CORBA implementations, DLib for > dlopen, LoadLibrary should be accessible through Win32Ada, and for > COM... well, i don't know... GNATCOM of course :-) as he pointed out. http://www.gnavi.org/gnatcom David Botton