Hello guys,
In my current attempt to make a list of several .bmp Files,
I have hit a road block.
Every time I add a new bmp from an array to the list with _GUIImageList_AddBitmap - it always adds the first one, even though the filename given to it is correct. (I checked.)
If I use _GUIImageList_AddBitmap with plain text, directly hardcoding the path to the .bmp files, it works as expected.
Is this a known bug?
complete code:
AutoIt
#include <GUIConstantsEx.au3> #include <WinAPI.au3> #include <GuiListView.au3> #include <GuiImageList.au3> #include <WindowsConstants.au3> #RequireAdmin $folder = "X:\tesfiles" $CURRENTFOLDER = "X:\test" $NAME = "TEST" $CARDNAME = 1 global $filelist Global $file _Main() Func _Main() Global $listview, $hImage GUICreate("ImageList AddBitmap", 1020, 764) $listview = GUICtrlCreateListView("", 2, 2, 1016, 760, BitOR($LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER, $LVS_REPORT)) _GUICtrlListView_SetExtendedListViewStyle($listview, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES, $LVS_EX_DOUBLEBUFFER, $LVS_EX_CHECKBOXES)) GUISetState() ; Load images ;~ _GUIImageList_AddBitmap($hImage, $CURRENTFOLDER & "\" & "M14-2025.bmp") ;~ _GUICtrlListView_AddItem($listview, "Item 1", 0) ;~ _GUIImageList_AddBitmap($hImage, $CURRENTFOLDER & "\" & "M14-2056.bmp") ;~ _GUICtrlListView_AddItem($listview, "Item 2", 1) ;~ _GUIImageList_AddBitmap($hImage, $CURRENTFOLDER & "\" & "M17-1846.bmp") ;~ _GUICtrlListView_AddItem($listview, "Item 3", 2) call("ThumbList") $filelistarray = StringSplit($filelist, "|") $hImage = _GUIImageList_Create(128, 60) For $n = 1 to $filelistarray[0] $thumb = FileGetShortName($CURRENTFOLDER & "\" & $filelistarray[$n] & ".bmp") _GUIImageList_AddBitmap($hImage, $thumb) _GUICtrlListView_AddItem($listview, $filelistarray[$n], 0) MsgBox(64,"","added " & $filelistarray[$n] & ".bmp") next _GUICtrlListView_SetImageList($listview, $hImage, 1) ; Add columns _GUICtrlListView_AddColumn($listview, "Items", 400) ; Add items ; Loop until user exits Do Until GUIGetMsg() = $GUI_EVENT_CLOSE GUIDelete() EndFunc ;==>_Main Func ThumbList() Local $SEARCH = FileFindFirstFile($folder & "\*.RAW") If $SEARCH = -1 Then MsgBox(0, "Error", "No .RAW files found") Exit EndIf While 1 Local $file = FileFindNextFile($SEARCH) If @error Then ExitLoop $UHRZEIT = StringTrimRight($file, 4) $RUNBEFEHL = """" & @ScriptDir & "\raw2dng.exe" & """" & " " & '"' & $folder & "\" & $file & '"' & " " & '"' & $CURRENTFOLDER & "\" & $NAME & $CARDNAME & "_" & $UHRZEIT & "_" & '"';bereich 1 den ich geändert habe, dateinamen $PPM = $CURRENTFOLDER & "\" & $NAME & $CARDNAME & "_" & $UHRZEIT & "_" & "000000.ppm" ; bereich 2 geändert $RUNBEFEHLIVIEW = '"' & @ScriptDir & "\dcraw.exe" & '"' & " -w -H 2 " & '"' & $CURRENTFOLDER & "\" & $NAME & $CARDNAME & "_" & $UHRZEIT & "_" & "000000.dng" & '"'; bereich 2 geändert $RUNBEFEHLJPG = '"' & @ScriptDir & "\i_view32.exe" & '"' & " " & '"' & $PPM & '"' & " " & "/resize=(128,128) /aspectratio /resample /crop(0,0,128,128) /convert=" & '"' & $CURRENTFOLDER & "\" & $UHRZEIT & ".bmp" & '"' $tempfile = $CURRENTFOLDER & "\" & $NAME & $CARDNAME & "_" & $UHRZEIT & "_000001.dng" $raw2dng = Run($RUNBEFEHL, "", @SW_HIDE) Do if ProcessExists($raw2dng) then Sleep(5) Else ExitLoop EndIf Until FileExists($tempfile) ProcessClose($raw2dng) ProcessWaitClose($raw2dng) FileDelete($tempfile) runwait($RUNBEFEHLIVIEW,"",@SW_HIDE) RunWait($RUNBEFEHLJPG,"",@SW_HIDE) FileDelete($PPM) FileDelete($CURRENTFOLDER & "\" & $NAME & $CARDNAME & "_" & $UHRZEIT & "_" & "000000.dng") if $filelist = "" Then $filelist = StringTrimRight($FILE,4) Else $filelist = $filelist & "|" & StringTrimRight($FILE,4) EndIf ;~ _GUIImageList_AddBitmap($hImage, $CURRENTFOLDER & "\" & $UHRZEIT & ".bmp") ;~ InputBox("","",$CURRENTFOLDER & "\" & $UHRZEIT & ".bmp") ;~ _GUICtrlListView_AddItem($listview, $UHRZEIT, 0) WEnd EndFunc ;==>ThumbList
Please help.