|
Vijilante SubAdmin
Joined: 18 Nov 2001 Posts: 5182
|
Posted: Sun Dec 09, 2007 2:44 am
[2.16] Breaking COM with variables |
This is a rather long winded procedure I tried to get it smaller but could not. I have been trying for hours to write a map query up that should be faster then scripting through all the %room functions. It was driving me nuts to have it seem to work in the untitled session but not my own. Then when I would check some obvious COM stuff in my session those would all report correctly. I hate tracking down ones like this.
1. Launch CMud
2. Create new session 'test'
3. Open 'test' session offline
4. Open Package Editor (CTRL-G)
5. Create new package 'a'
6. Paste setting into package a
Code: |
<?xml version="1.0" encoding="ISO-8859-1" ?>
<cmud>
<func name="Q">
<value>MapCon=%session
#CALL @MapCon.EchoStr("var works",7)
MapCon=""
#CALL %session.EchoStr("direct works",7)
#RESULT ""</value>
</func>
</cmud> |
7. Enter at the command line
You will see everything is working here, and keeps working if you try it multiple times.
8. Close CMud with big X
9. Launch CMud
10. Open 'test' session offline
11. Enter at the command line
Now the variable does not work. If the function is not created in a seperate package it will work on the relaunch. If the variable does not exist at launch meaning you skipped step 7 then it will work on the relaunch. Moving the variable into the package and/or changing its type to COM Object don't help. |
|
_________________ The only good questions are the ones we have never answered before.
Search the Forums |
|
|
|
Tech GURU
Joined: 18 Oct 2000 Posts: 2733 Location: Atlanta, USA
|
Posted: Mon Dec 10, 2007 3:31 am |
Confirmed. On the second run only "direction works" will print.
|
|
_________________ Asati di tempari! |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Dec 11, 2007 6:35 pm |
Confirmed and added to bug list.
|
|
|
|
|
|