English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
[Caml-list] OCam'OLE pre-release
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2002-08-05 (07:46)
From: Nicolas Cannasse <warplayer@f...>
Subject: Re: [Caml-list] OCam'OLE pre-release
> 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
> 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.
> so, where in olegen.ml is this problem buried?

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