Hi,
habe folgendes Script:
Spoiler anzeigen
#include <Array.au3>
#include <GUIConstantsEx.au3>
#include <GuiListBox.au3>
#include <ListBoxConstants.au3>
#include <WindowsConstants.au3>
GUICreate("Softwareinfo", 500, 400)
$programminfo = GUICtrlCreateLabel("", 260, 4, 228, 80)
GUICtrlSetFont(-1, 10, 400, 0, "Arial")
$programmliste = GUICtrlCreateList("", 4, 4, 250, 395)
GUICtrlSetFont(-1, 10, 400, 0, "Arial")
$programme = IniReadSectionNames("programm.ini")
For $i = 1 To $programme[0]
GUICtrlSetData($programmliste, $programme[$i])
Next
$lizenzfile = GUICtrlCreateButton("Lizenzfile", 260, 4)
GUICtrlSetState($lizenzfile, $GUI_DISABLE)
GUISetState(@SW_SHOW)
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
Global $hList = GUICtrlGetHandle($programmliste)
Global $sItem = ""
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
;~ Case $lizenzfile
;~ MsgBox(0, "", "Lizenzfile")
EndSelect
WEnd
Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
Local $hWndFrom, $iIDFrom, $iCode, $hWndListBox
If Not IsHWnd($hList) Then $hWndList = GUICtrlGetHandle($hList)
$hWndFrom = $ilParam
$iCode = BitShift($iwParam, 16)
Switch $hWndFrom
Case $hList, $hWndList
Switch $iCode
Case $LBN_SELCHANGE
$sCurrent = _GUICtrlListBox_GetText($hList, _GUICtrlListBox_GetCurSel($hList))
If $sCurrent <> $sItem Then
$sItem = $sCurrent
GUICtrlSetState($lizenzfile, $GUI_ENABLE)
$programmfirma = IniRead("programm.ini", $sItem, "Firma", "")
$programmversion = IniRead("programm.ini", $sItem, "Version", "")
$programmlizenzart = IniRead("programm.ini", $sItem, "Lizenzart", "")
$programmlizenzanzahl = IniRead("programm.ini", $sItem, "Anzahl", "")
$programmtext = "Firma: " & $programmfirma & @CRLF & "Version: " & $programmversion & @CRLF & @CRLF & "Lizenzart: " & $programmlizenzart & @CRLF & "Anzahl: " & $programmlizenzanzahl
[/autoit] [autoit][/autoit] [autoit]If $programmlizenzart = "Netzwerk" Then
$programmserver = IniRead("programm.ini", $sItem, "Server", "")
$programmtext = $programmtext & @CRLF & "Lizenzserver: " & $programmserver
GUICtrlSetPos($programminfo, 260, 4, 228, 96)
If IniRead("programm.ini", $sItem, "Dongel", "") <> "" Then
$programmtext = $programmtext & @CRLF & "Dongel"
GUICtrlSetPos($programminfo, 260, 4, 228, 112)
EndIf
EndIf
$programmlizenzfile = IniRead("programm.ini", $sItem, "Lizenzfile", "")
If $programmlizenzfile <> "" Then
$pos = ControlGetPos("Softwareinfo", "", $programminfo)
GUICtrlSetPos($lizenzfile, 260, 4 + $pos[3] + 16)
EndIf
GUICtrlSetData($programminfo, $programmtext)
EndIf
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_COMMAND
Das Problem ist nun wenn ich auf den Button Lizenzfile klicke die Fehlermeldung:
ZitatCase $hList, $hWndList
Case $hList, ^ ERROR
Und wenn ich das
Spoiler anzeigen
Case $lizenzfile
MsgBox(0, "", "Lizenzfile")
in wer while einkommentiere in einer Endlosschleife die Msg kommt auch wenn garnicht der Button Lizenzfile gedrückt wird. Jemand eine Idee zu den Problemen?
P.s. Ini hochladen geht nicht also die Datei im Anhang in programm.ini umbenennen.