From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id FAA07437; Fri, 19 Apr 2002 05:13:51 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id FAA07434 for ; Fri, 19 Apr 2002 05:13:50 +0200 (MET DST) Received: from cpimssmtpu04.email.msn.com (cpimssmtpu04.email.msn.com [207.46.181.80]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g3J3Dnb24534 for ; Fri, 19 Apr 2002 05:13:49 +0200 (MET DST) Received: from tjakobl2 ([131.107.65.127]) by cpimssmtpu04.email.msn.com with Microsoft SMTPSVC(5.0.2195.4617); Thu, 18 Apr 2002 20:13:44 -0700 Message-ID: <000901c1e750$33012ec0$5ba4389d@redmond.corp.microsoft.com> From: "Jakob Lichtenberg" To: "Christopher Quinn" Cc: References: <000901c1e5c1$f47cc130$5ba4389d@redmond.corp.microsoft.com> <3CBEE681.9090404@htec.demon.co.uk> Subject: Re: [Caml-list] camlidl - finalizing cows without COM! Date: Thu, 18 Apr 2002 20:13:36 -0700 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-Mimeole: Produced By Microsoft MimeOLE V6.00.2600.0000 X-OriginalArrivalTime: 19 Apr 2002 03:13:44.0138 (UTC) FILETIME=[368832A0:01C1E750] Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Dear Christopher, Thanks a lot for your help, I can now produce and garbage collect all the cows I would ever dream of! There are still a couple of open issues. My current favourite would be: Who declares what?!? The CamlIDL User's manual Sec. 3.8 tells me what prototypes to implement: a c2ml and an ml2c function. And then I can use them using the following IDL declaration (in cow.idl): typedef [abstract,c2ml(cow_c2ml), ml2c(cow_ml2c)] int cow; However I need to declare and implement cow_c2ml and cow_ml2c, right? I cannot do that directly in the IDL file since the IDL types does NOT contain the 'value' type. I needed to put them in a separate module and then include them using a quote declaration: quote(h,"#include \"cow_marshalling.h\"") That opened up for a bunch of new entertaining stuff since the c2ml and ml2c declarations uses an (according to the manual 'internal'?!?) type 'camlidl_ctx' which is declared in the camlidlruntime.h header file. A file that I as a 'user' to the best of my knowledge should not include manually... Anyway, having made a bunch of strange declarations and includes everything now basically ROCKS. CamlIDL have cut 50% of my source code and made everything so much cooler, thanks Xavier Leroy and Christopher!!! - Jakob ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners