Modify ↓
Opened 11 years ago
Last modified 9 months ago
#2652 assigned Feature Request
Allow ExpandVarStrings to expand com properties as well.
Reported by: | this-is-me | Owned by: | Jon |
---|---|---|---|
Milestone: | Component: | AutoIt | |
Version: | Severity: | None | |
Keywords: | Cc: |
Description
The ExpandVarStrings option does not currently expand if the variable is actually a com property. It would be nice if expansion could happen on these properties as well.
Opt("ExpandVarStrings", 1) Global $objJSONScript = ObjCreate("ScriptControl") With $objJSONScript .language = "Jscript" .AddCode("Array.prototype.item=function(i){return this[i]};Object.prototype.item=function(i){return this[i]};Object.prototype.addProp=function(prop,val){eval('this.'+prop+'='+val)};") EndWith $vars = JSON('{' & _ '"widget": {' & _ ' "debug": "on",' & _ ' "window": {' & _ ' "title": "Sample Konfabulator Widget",' & _ ' "name": "main_window",' & _ ' "width": 500,' & _ ' "height": 500' & _ ' }' & _ '}' & _ '}') MsgBox(0,"",$vars.widget.window.title) MsgBox(0,"","$vars.widget.window.title$") Func JSON($def = "{}") $objJSONScript.Eval("var z=" & StringReplace($def, "\", "\\")) Return $objJSONScript.Eval("z") EndFunc ;==>JSON
Attachments (1)
Change History (3)
comment:1 Changed 4 years ago by Jpm
- Owner set to Jpm
- Status changed from new to assigned
Changed 18 months ago by anonymous
comment:2 Changed 9 months ago by Jpm
- Owner changed from Jpm to Jon
Guidelines for posting comments:
- You cannot re-open a ticket but you may still leave a comment if you have additional information to add.
- In-depth discussions should take place on the forum.
For more information see the full version of the ticket guidelines here.
Note: See
TracTickets for help on using
tickets.
Hi,
I introduce a new option to expand expression
Opt("ExpandExpStrings", 1)
to expand string containing expression such as "($vars.widget.window.title)"
a COM evariable must be evaluated before it can be used.
Fix sent to Jon