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 JAA14497; Mon, 5 Aug 2002 09:46:41 +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 JAA14469 for ; Mon, 5 Aug 2002 09:46:40 +0200 (MET DST) Received: from mel-rto6.wanadoo.fr (smtp-out-6.wanadoo.fr [193.252.19.25]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g757kdD12258 for ; Mon, 5 Aug 2002 09:46:39 +0200 (MET DST) Received: from mel-rta9.wanadoo.fr (193.252.19.69) by mel-rto6.wanadoo.fr (6.5.007) id 3D49FD9700108574; Mon, 5 Aug 2002 09:46:39 +0200 Received: from warp (80.13.116.114) by mel-rta9.wanadoo.fr (6.5.007) id 3D49FFB7001039B8; Mon, 5 Aug 2002 09:46:39 +0200 Message-ID: <003b01c23c54$32324570$0700a8c0@warp> From: "Nicolas Cannasse" To: "kyra" , "OCaml" References: <000901c237fe$04a92510$0700a8c0@warp> <001901c239b4$be8ccbf0$551aa8c0@kyra> <001101c23a0d$2f184220$0700a8c0@warp> <000d01c23ae3$9dd62700$551aa8c0@kyra> Subject: Re: [Caml-list] OCam'OLE pre-release Date: Mon, 5 Aug 2002 09:46:22 +0200 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 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk > Again. Ocaml can GC any variable thas is no longer used 'as an ocaml > variable'. But it turns out the underlying object is still used 'as COM > object'. In the case of olegen may this be a bad design of oleaut32 server? > Anyway, 'automatic' solution does not exist, so if we map ocaml 'finalize' > to COM 'Release', we must maintain some 'discipline' trying to reference > ocaml variable somewhere if we know it is still used as COM object. Hmm. If > so, where in olegen.ml is this problem buried? True. The job of the GC is to release unreferenced objects. But I don't see how this can cause a bug : it seems that your crash is due to a call of a COM method on a object AFTER it has been released... if it has been Release, then it is no longer referenced by Ocaml... so , how can u ever call a method on it ??? >I am too bad com or ocaml expert, but i'd prefer to unbind Release from >com_finalize, and to have an option to call Release explicitly. This solution is not an acceptable one. You still can choose to modify OCam'OLE on your own.... Nicolas Cannasse ------------------- 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