Issue 17723 - Python scripting installation failure: msvcr70.dll
Summary: Python scripting installation failure: msvcr70.dll
Status: CLOSED NOT_AN_OOO_ISSUE
Alias: None
Product: udk
Classification: Code
Component: code (show other issues)
Version: OOo 1.1 RC2
Hardware: PC Windows 2000
: P3 Trivial (vote)
Target Milestone: ---
Assignee: joergbudi
QA Contact: issues@udk
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-07-31 16:57 UTC by andmalc
Modified: 2007-06-18 10:30 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description andmalc 2003-07-31 16:57:51 UTC
I've installed the PyUNO Bridge on the latest OO 1.1 release candidate
on Win2K and I'm trying to test it by starting the interpreter from the
python.exe in the runtime directory and doing a 'import uno'.

This produced an error idicating that 'msvcr70.dll' could not be found
so I downloaded and copied this file from dll-find.com to system32 but
now get the message:

The procedure entry point __job_func could not be located in the dynamic
link library MSVCR70.dll
Comment 1 joergbudi 2003-08-01 14:08:50 UTC
Hi,

the problem is that you are trying to start the python.exe directly 
from the OOo/program/python-2.2.2/bin directory, however this is the 
wrong way.

The tutorial states, that you must start it from the 
OOo/program/python.bat. I'll modify the documentation in the next 
days to emphasize this more.

Thx neitherway, 
Bye Joerg
Comment 2 joergbudi 2003-08-01 14:10:17 UTC
Please verify, that it now works for you, I'll then close this issue.
Comment 3 andmalc 2003-08-01 16:26:55 UTC
Sorry about that - uno can now be imported without problems.  It might
help if you specify the filename - I looked for a .py file and didn't
look down at the following example line (though the './' current
directory specifier in the example prevents my Win 2k from finding the
file)

Unfortunately, I've still got a problem - the hello-world.py example
runs without exception but no 'Hello World' is printed in the open
Writer doc.
Comment 4 joergbudi 2003-08-01 22:23:09 UTC
I investigated this problem. There is a race at the very end of the python
process. The text.insertString() call is a oneway call, meaning that the
call is sent to the remote process without waiting for the answer. (
Whether
a call is oneway or not is currently specifed in IDL.)
Oneways are a big performance boost, when you e.g. do 1000
insertString calls in a row.

Unfortunately, calling a oneway as the last call does not give you a
guarantee,
that it will reach the target object. Therefor I added a dummy synchronous
call at the end, this will make the sample work. I have updated
the documentation and sample code on udk.openoffice.org accordingly.

There are other possibilities to work around this problem, e.g. wait
longer
than 20ms after the last call or modify the connection string to
switch off
oneway optimization, e.g.

uno:socket,host=localhost,port=2002;urp,ForceSynchronous=1;StarOffice.ComponentContext

Unfortunately, in the environments where I tested the sample script
before,
the insertString won the race, so I didn't realize this problem. Just
today,
I happened to test this on a faster machine, so I could reproduce your
problem. So thanks for the hint.

Bye, Joerg 


Comment 5 kay.ramme 2007-06-18 10:30:59 UTC
This issue has been "RESOLVED" for quite a time, I assume I can close it ...