Opened 2 years ago

Last modified 2 years ago

#3925 closed Bug

Witn..EndWith should error out when associated with a DllStruct — at Version 1

Reported by: jchd18 Owned by:
Milestone: 3.3.17.0 Component: Aut2Exe
Version: 3.3.16.1 Severity: None
Keywords: Cc:

Description (last modified by jchd18)

With $X is specified to work only if $X is an object.
Instead it doesn't errour out when $X is a DllStruct.

Uncomment any other datatype below to produce a runtime error.

Local $m[]
Local $b[3]
Local $a = [ _
	DllStructCreate('wchar string[1024]'), _
 _	; 	$m, _
 _	;	$b, _
 _	;	123, _
 _	;	"abc", _
 _	;	Binary(123), _
 _	;	Ptr(123456), _
 _	;	True, _
 _	;	Null _
	ObjCreate("shell.application") _
]
For $v In $a
	ConsoleWrite(VarGetType($v) & @TAB)
	With $v
		ConsoleWrite("passed" & @LF)
	EndWith
Next

Maybe these checks should also be integrated in Au3Check if at all reasonably possible.

Origin thread: https://www.autoitscript.com/forum/topic/209063-beware-of-abusing-undocumented-withendwith-syntax-on-dllstructs/

Change History (1)

comment:1 Changed 2 years ago by jchd18

  • Description modified (diff)
Note: See TracTickets for help on using tickets.