[racket] mysterx-mzlib<->ffi/com

From: heraklea at gmx.de (heraklea at gmx.de)
Date: Sun Aug 26 18:22:05 EDT 2012

Hello I add the line you give me in line 1884 not 1184. And the result is :

GC[0:min] @ 318,206K(+5,505K)[+29,792K]; free 30,408K(-32,776K) 94ms @ 99918
GC[0:min] @ 321,353K(+5,558K)[+29,820K]; free 19,753K(-32,809K) 156ms @ 100402
GC[0:min] @ 334,807K(+5,736K)[+29,824K]; free 27,834K(-32,634K) 109ms @ 100979
GC[0:min] @ 340,728K(+5,895K)[+29,836K]; free 29,018K(-32,538K) 93ms @ 101463
GC[0:min] @ 345,239K(+5,928K)[+29,840K]; free 24,421K(-32,485K) 140ms @ 101915
GC[0:min] @ 354,841K(+6,054K)[+29,840K]; free 27,171K(-32,419K) 109ms @ 102570
GC[0:min] @ 361,132K(+6,163K)[+29,840K]; free 25,335K(-32,247K) 140ms @ 103288
GC[0:min] @ 368,611K(+5,724K)[+29,840K]; free 23,676K(-32,764K) 110ms @ 103927
GC[0:min] @ 377,702K(+5,721K)[+29,840K]; free 20,144K(-32,816K) 141ms @ 104442
GC[0:min] @ 391,668K(+6,411K)[+29,840K]; free 30,161K(-32,145K) 125ms @ 105160
GC[0:min] @ 395,581K(+6,146K)[+29,844K]; free 29,039K(-32,431K) 125ms @ 105612
result kind: 8

Yours,
-------- Original-Nachricht --------
> Datum: Thu, 16 Aug 2012 12:14:17 -0600
> Von: Matthew Flatt <mflatt at cs.utah.edu>
> An: heraklea at gmx.de
> Betreff: Re: [racket] mysterx-mzlib<->ffi/com

> It's difficult for me to debug without having the COM class installed,
> so maybe you can help me a little.
> 
> In your Racket installation, the file
> 
>  collects/ffi/unsafe/com.rkt
> 
> has on line 1184
> 
>          [(zero? hr)
>           (begin0
>            (if method-result
>                (variant-to-scheme method-result)
>                (void))
>            (for ([proc (in-list cleanups)]) (proc)))]
> 
> Could you add
> 
>  (log-error (format "result kind: ~s" (VARIANT-vt method-result)))
> 
> there, so that the `cond' clause is
> 
>          [(zero? hr)
>           (log-error (format "result kind: ~s" (VARIANT-vt
> method-result)))
>           (begin0
>            (if method-result
>                (variant-to-scheme method-result)
>                (void))
>            (for ([proc (in-list cleanups)]) (proc)))]
> 
> and let me know what the logged result kind is? (In DrRacket, there's
> an option to show the log.)
> 
> Thanks!
> 
> At Wed, 15 Aug 2012 18:03:48 +0200, heraklea at gmx.de wrote:
> > The Signature of the method is
> > 
> > TakeCurrentServer(BSTR *p_param)
> > 
> > in the body
> > ...
> > *p_param = MySrv.AllocSysString();
> > return S_OK;
> > ...
> > 
> > Yours,
> > ____________________
> >   Racket Users list:
> >   http://lists.racket-lang.org/users

Posted on the users mailing list.