Thanks! I see that I was on the wrong track... Does it help to change lines (which I think I've typed correctly this time) as follows?
Line 474, add `/null': [pItf _IUnknown-pointer/null] Line 621, remove `cast': (define csi (make-COSERVERINFO 0 machine #f 0)) At Mon, 27 Aug 2012 00:22:05 +0200, herak...@gmx.de wrote: > 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 <mfl...@cs.utah.edu> > > An: herak...@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, herak...@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 > ____________________ > Racket Users list: > http://lists.racket-lang.org/users ____________________ Racket Users list: http://lists.racket-lang.org/users