Modify ↓
      
        Opened 15 years ago
Closed 12 years ago
#1870 closed Bug (Fixed)
@GUI_DRAGFILE
| Reported by: | anonymous | Owned by: | Jon | 
|---|---|---|---|
| Milestone: | 3.3.9.21 | Component: | AutoIt | 
| Version: | 3.3.6.1 | Severity: | None | 
| Keywords: | @GUI_DRAGFILE | Cc: | 
Description
The @GUI_DRAGFILE seems to return an extra 2 bytes, assumably a @CRLF, when a file is dropped onto an Edit control, as opposed to the return string when dropped e.g. onto a button.
Attachments (0)
Change History (6)
comment:1 Changed 15 years ago by mvg
comment:2 Changed 15 years ago by mvg
#cs - - - >Environment(Language:0409 Keyboard:00000409 OS:WIN_XP/Service Pack 3 CPU:X86 OS:X86) >Running:(3.3.6.1):C:\...\autoit3.exe "D:\...\_TEST_.au3" @GUI_DragFile = "D:\\...\\_TEST__Obfuscated.au3\r\n" GUICtrlRead($cEdit) = "D:\\...\\String_and_NUL\r\nD:\\...\\_FileCountLines.txt\r\nD:\\...\\_TEST__Obfuscated.au3\r\n" #ce - - -
;~ #AutoIt3Wrapper_AU3Check_Stop_OnWarning=y
;~ #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 6 -q
;~ #AutoIt3Wrapper_Add_Constants=n
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <EditConstants.au3>
main()
Exit
Func main()
	;; gui setup.
	Local $hGui = GUICreate("My GUI", Default, Default, Default, Default, $GUI_SS_DEFAULT_GUI, $WS_EX_ACCEPTFILES)
	_DebugOut('$hGui', $hGui) ;### Debug DebugOut.
	;
	Local $aWinClientSize = WinGetClientSize($hGui) ;; [0]Width, [1]Height
	;
	GUICtrlCreateLabel("Label", 2, 2)
	Local $cLabel = GUICtrlCreateLabel("", 0, 0, Floor($aWinClientSize[0] / 2), $aWinClientSize[1], BitOR($GUI_SS_DEFAULT_LABEL, $SS_BLACKFRAME))
	GUICtrlSetState($cLabel, $GUI_DROPACCEPTED)
	_DebugOut('$cLabel', $cLabel) ;### Debug DebugOut.
	;
	Local $cEdit = GUICtrlCreateEdit("Edit", Floor($aWinClientSize[0] / 2), 0, Floor($aWinClientSize[1] / 2), $aWinClientSize, $GUI_SS_DEFAULT_EDIT)
	GUICtrlSetState($cEdit, $GUI_DROPACCEPTED)
	_DebugOut('$cEdit', $cEdit) ;### Debug DebugOut.
	;
	GUISetState(@SW_SHOW)
	
	;; gui wait.
	Local $iMsg, $fQuit = False
	Do
		$iMsg = GUIGetMsg()
		If $iMsg Then
			Switch $iMsg
				Case $GUI_EVENT_CLOSE
					_DebugOut('- $GUI_EVENT_CLOSE') ;### Debug DebugOut.
					$fQuit = True
				Case $GUI_EVENT_DROPPED
					_DebugOut('- $GUI_EVENT_DROPPED') ;### Debug DebugOut.
					_DebugOut('@GUI_DRAGID', @GUI_DragId) ;### Debug DebugOut.
					_DebugOut('@GUI_DROPID', @GUI_DropId) ;### Debug DebugOut.
					_DebugOut('@GUI_DragFile', _DebugString(@GUI_DragFile)) ;### Debug DebugOut.
					_DebugOut('GUICtrlRead($cEdit)', _DebugString(GUICtrlRead($cEdit))) ;### Debug DebugOut.
			EndSwitch
		EndIf
	Until $fQuit
	
	;; gui cleanup.
	GUIDelete()
	_DebugOut('!< main()') ;### Debug DebugOut
EndFunc
Func _DebugString($S)
	Return StringReplace(StringReplace(StringReplace(StringReplace($S, '\', '\\'), @CR, '\r'), @LF, '\n'), @TAB, '\t')
EndFunc
Func _DebugOut($1 = '', $2 = '')
	If IsString($2) And $2 Then $2 = '"' & StringReplace($2, "'", "''") & '"'
	If IsArray($2) Then $2 = '[' & VarGetType($2) & ']'
	If Not ($2 == '') Or Not IsString($2) Then $1 &= ' = ' & String($2)
	ConsoleWrite($1 & @CRLF)
EndFunc
    comment:3 Changed 14 years ago by guinness
A 'workaround' is using StringTrimRight and StringLen
$sFilePath = StringTrimRight(@GUI_DragFile, StringLen(@CRLF))
comment:4 Changed 12 years ago by Jon
- Resolution set to Rejected
- Status changed from new to closed
comment:5 Changed 12 years ago by Jpm
- Resolution Rejected deleted
- Status changed from closed to reopened
comment:6 Changed 12 years ago by Jon
- Milestone set to 3.3.9.21
- Owner set to Jon
- Resolution set to Fixed
- Status changed from reopened to closed
Fixed by revision [8994] in version: 3.3.9.21
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.
    

That would also take care of the 'seems' part.