There seems to be a slight bug with auto_path and/or resouce. Procs with
name spaces are not found initially.
e.g .
Top level bat file.
setlocal
set tclScript=
C:\home\patrick\eclipse\WASAdminSBV\WSAdmin\WAS5.1\tcl\sendJavaMail.tcl
set javaCmd="C:\Program Files\Java\j2re1.4.2_05\bin\java"
set CLASSPATH=%CLASSPATH%;C:/downloads/TCL/jacl/tcljava.jar
set CLASSPATH=%CLASSPATH%;C:/downloads/TCL/jacl/jacl.jar
:: ### proclib jar holds scripts.
set
CLASSPATH=%CLASSPATH%;C:/home/patrick/eclipse/WASAdminSBV/WSAdmin/WAS5.1/JACL/proclib.jar
set CLASSPATH=%CLASSPATH%;C:/downloads/java/javamail-1_4/javamail-1.4
/lib/smtp.jar
set CLASSPATH=%CLASSPATH%;C:/downloads/java/javamail-1_4/javamail-1.4
/lib/mailapi.jar
set CLASSPATH=%CLASSPATH%;C:/downloads/java/activation.jar
%javaCmd% -classpath %CLASSPATH% tcl.lang.Shell %tclScript%
endlocal
Called tcl script.
=============================================================
#
# send mail using java mail library.
package require java
lappend auto_path resource:/proclib
puts "auto_path is [ set auto_path ]"
# putsLog proc
putsLog "test message"
# javaMail namespace.
javaMail::javaMail you...@yo... "test email" " body text"
==============================================================
If the putslog proc is left in jacl finds javaMail::javaMail. If the
putslog proc is commented out jacl fails to find javaMail::javaMail
sendJavaMail.cmd
invalid command name "javaMail::javaMail"
putsLog is defined like:
proc putsLog { a { channel stdout } } {
global env
javaMail::javaMail is defined like:
namespace eval javaMail {
proc javaMail { emailAddress subject body } {
Does the tcl unknown command work in jacl the same way as tcl or is there a
difference in the way the auto_index file is loaded?
|