Eman problem with Windows SP3

VA Smalltalk is a "100% VisualAge compatible" IDE that includes the original VisualAge technology and the popular VA Assist and WidgetKit add-ons.

Moderators: Eric Clayberg, wembley, tc, Diane Engles, solveig

Eman problem with Windows SP3

Postby DArnold » Mon Jul 27, 2009 6:24 am

We encountered an issue with Eman when run on Windows SP3. Sharing the information here, recognizing this is unsupported Goodie code.

We found 2 problems with the following code from OcEMMWDisk>>doesNotUnderstand:
self instance ifNil: [ | tempDiskStream |
tempDiskStream := ( self fileName asAbtFileSpec
cfsStreamReadWriteIfError: [: e |
^ ExError newChild description: e description; signal ] ).

1. First #cfsStreamReadWriteIfError: results in a busy error under SP3. This is may be unique to our application since we are emailing as part of a MS Word OLE conversation. Obviously in our case Word still has the file open. This worked fine prior to SP3. We could have changed our code to make a copy of the Word document, and email the copy, but since Eman only reads the file, there is no need to open the file as read/write. So we have changed the code to use #cfsStreamReadIfError: instead. Others may prefer the concurrence protection that #cfsStreamReadWriteIfError: and SP3 now offers.

2.The error handling is broken; #cfsStreamReadWriteIfError: answers a CfsError on failure, which does not understand #description. Since we are already changing this method we just used #printString instead (i.e. ^ ExError newChild description: e printString; signal )

Dave
DArnold
 
Posts: 6
Joined: Wed Mar 28, 2007 5:36 am

Re: Eman problem with Windows SP3

Postby marten » Mon Jul 27, 2009 6:57 am

DArnold wrote:We encountered an issue with Eman when run on Windows SP3. Sharing the information here, recognizing this is unsupported Goodie code.

We found 2 problems with the following code from OcEMMWDisk>>doesNotUnderstand:
self instance ifNil: [ | tempDiskStream |
tempDiskStream := ( self fileName asAbtFileSpec
cfsStreamReadWriteIfError: [: e |
^ ExError newChild description: e description; signal ] ).

1. First #cfsStreamReadWriteIfError: results in a busy error under SP3. This is may be unique to our application since we are emailing as part of a MS Word OLE conversation. Obviously in our case Word still has the file open. This worked fine prior to SP3. We could have changed our code to make a copy of the Word document, and email the copy, but since Eman only reads the file, there is no need to open the file as read/write. So we have changed the code to use #cfsStreamReadIfError: instead. Others may prefer the concurrence protection that #cfsStreamReadWriteIfError: and SP3 now offers.


You mean #cfsStreamReadOnlyIfError: ...

2.The error handling is broken; #cfsStreamReadWriteIfError: answers a CfsError on failure, which does not understand #description. Since we are already changing this method we just used #printString instead (i.e. ^ ExError newChild description: e printString; signal )
Dave


This is also true for
OcEMServerMessageManager>>consolidateMessageHandles

I've changed this in the distribution and republished it ...

Marten
Marten Feldtmann, Principal Smalltalk User, Private
SkypeMe callto://marten.feldtmann
marten
[|]
 
Posts: 641
Joined: Sat Oct 14, 2006 7:10 am
Location: Hamburg - Germany

Re: Eman problem with Windows SP3

Postby DArnold » Fri Aug 07, 2009 4:37 am

thanks Marten. Where is the current distribution of Eman?
The link in the goodies section (http://www.schrievkrom.de/uk/tips/small ... /index.htm.) is broken

Dave
DArnold
 
Posts: 6
Joined: Wed Mar 28, 2007 5:36 am

Re: Eman problem with Windows SP3

Postby a3aan » Fri Aug 07, 2009 7:03 am

Adriaan van Os
a3aan
[|]
 
Posts: 45
Joined: Fri May 25, 2007 1:41 am


Return to VA Smalltalk 7.0, 7.5 & 8.0

Who is online

Users browsing this forum: Yahoo [Bot] and 1 guest