Thanks for the clear problem statement. The problem has been found and
fixed. In case this is holding up your work I have uploaded the fixed
j.dll at the web site:
http://www.jsoftware.com/download/jdll.zip
A particular thanks for reporting the bug in the vb script context. I
was vaguely aware of it, but had always done tests in the much more
complex C++ or VB environments. Your example (create a simple text file
with a vbs suffix and click it in explorer or run it in a command
window) is a simple joy!
----- Original Message -----
From: "Oleg Kobchenko" <[EMAIL PROTECTED]>
To: "Beta forum" <[email protected]>
Sent: Monday, June 26, 2006 11:15 PM
Subject: Re: [Jbeta] JDLLServer crashes on Release
Dim j, r, v
Set j = CreateObject("JDLLServer")
Set j = Nothing ' Comment this to see Done before crash
WScript.Echo "Done"
VB Scripts has deterministic memory model, so
j = Nothing calls Release immediately.
If you comment the above line, Release is called
when script goes out of scope, so you see
message Done before the crash.
DoR has nothing to do with it.
----- Original Message ----
From: Oleg Kobchenko <[EMAIL PROTECTED]>
To: Beta forum <[email protected]>
Sent: Monday, June 26, 2006 10:41:09 PM
Subject: Re: [Jbeta] JDLLServer crashes on Release
No the crash is inside Release on the J object.
DoR is fine. (Inless DoR or something else damages the stack,
because there is stack warning in the Stack view in VS.)
The crash inside Release was traced there with the debugger
in disassembly view.
On the other hand, the v result is fine, it prints out both from
J and from VB script. In J it is shown how VariantClear works
fine on it.
I will do more testing with and without DoR to see if it damages
the stack.
----- Original Message ----
From: Eric Iverson <[EMAIL PROTECTED]>
To: Beta forum <[email protected]>
Sent: Monday, June 26, 2006 9:17:18 PM
Subject: Re: [Jbeta] JDLLServer crashes on Release
I am not able to look at this right now, but will eventually. Could
you
perhaps confirm that 'some things' or even 'most things' work and that
the problem is just with DoR? Most of the COM code hasn't changed in a
long time, but there were a few changes in the area of DoR that were
related to utf8. It will be easier to track down if I know to look
directly at the DoR utf8 stuff.
Also, please clarify why you say 'crashes on Release'. Your example
seems to indicate simply that the v result from DoR is damagaed.
----- Original Message -----
From: "Oleg Kobchenko" <[EMAIL PROTECTED]>
To: "Beta forum" <[email protected]>
Sent: Monday, June 26, 2006 7:04 PM
Subject: [Jbeta] JDLLServer crashes on Release
While creating examples for the Pointer Call interface,
I came a bug in current J beta. Releasing J COM object crashes J.
http://www.jsoftware.com/jwiki/System/Library/Bugs
Example in VB Script:
' ========================== testj.vbs
Dim j, r, v
Set j = CreateObject("JDLLServer")
r = j.DoR("i.3 4", v)
WScript.Echo(v)
Exception Information
Code: 0xc0000005 Flags: 0x00000000
Record: 0x0000000000000000 Address: 0x0000000010110216
----------------------------------------------------------------------
For information about J forums see
http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm