Gui lässt sich unter WinXP schließen, aber nicht unter Win7

09/15/2011 14:09 Lawliet#1
Hey ich habe dieses kleine Programm hier erstellt:
[Only registered and activated users can see links. Click Here To Register...]

Bei mir funktioniert alles (WinXP32), bei einem anderen User lässt sich das das Programm aber nach aber weder schließen, noch ein anderer Button drücken, nachdem er im Codebereich angekommen ist, den ich mit einem roten "HIER" markiert habe:
Code:
#AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#RequireAdmin

#include <StructureConstants.au3>
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#Include <File.au3>
#Include <String.au3>



Global $iMemo
Global $aPath
Global $CMDHandle
Global $LithTechDTXhex
Global $NexonDTXhex
Global $NexonDTX
Global $LithTechDTX 
Global $DTXFileName
Global $ConvertTF = 0
Global $OpenFolder = 0
Global $Filenamedtx = 0
Global $NexonDTXCheck
Global $LithtechDTXCheck =

_Example_Defaults()
_Example_ExplorerStyleMultiSelect()
_Example_OldStyle()
_Example_ExplorerStyleSinglSelect()
_Example_ExplorerStyle_NoPlaceBar()

Func _Example_Defaults()
	Local $hGui, $btn_dialog, $aFile, $sError, $FileName
	; Create GUI
	$hGui = GUICreate("Lawliet!'s DTX Converter", 300, 200)
	;$iMemo = GUICtrlCreateEdit("", 2, 32, 396, 226, $WS_HSCROLL)
	;GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
	GUICtrlCreateLabel("File: ", 100, 40)
	GUICtrlCreateLabel("Typ: ", 100, 60)
	$btn_dialog = GUICtrlCreateButton("*.DTX File öffnen", 50, 150, 90, 20)
	$ConvertTF = GUICtrlCreateButton("Convertieren", 160, 150, 90, 20)
	GUISetState()
	
	While 1
		Switch GUIGetMsg()
		Case $btn_dialog
				
				$aFile = _WinAPI_GetOpenFileName("", "DTX Files (*.dtx)") ; use defaults
				If $aFile[0] = 0 Then
					$sError = _WinAPI_CommDlgExtendedError()
					MemoWrite("CommDlgExtendedError (" & @error & "): " & $sError)
				Else
					For $x = 1 To $aFile[0]
						
						;code
						
					Next
					
				EndIf
				$FileName = StringTrimRight($aFile[2], 4)
				$LithTechDTX = _HexToString($LithTechDTXhex)
				$NexonDTX = _HexToString($NexonDTXhex)
				$DTXFileName = StringTrimRight($aFile[2], 4)
				
				;MsgBox(1, "dawn", $DTXFileName)
				GUICtrlCreateLabel($aFile[2], 150, 40)
				
				;code
				If $TypVar == $LithTechDTXhex Then
					GUICtrlCreateLabel("LithTech", 150, 60)
					;MsgBox(1, "Typ", "LithTech .dtx File")
				Else
					GUICtrlCreateLabel("Nexon", 150, 60)
				EndIf
				
			Case $ConvertTF
				 ;code
				If $TypVar == $LithTechDTXhex Then
					;code
					If @error Then
						MsgBox(1, "error", @error)
					EndIf
					;code
				Else
					;code
					If @error Then
						MsgBox(1, "error", @error)
					EndIf
					;code
                                          [FONT="Arial"][SIZE="6"][COLOR="Red"]HIER[/COLOR][/SIZE][/FONT]
				EndIf
			Case $GUI_EVENT_CLOSE
				ExitLoop
			
				
				
				
		EndSwitch
	WEnd
	GUIDelete($hGui)
	

	

EndFunc 
Func MemoWrite($sMessage)
	GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc


Kann jemand erkennen woran es liegen könnte?
09/18/2011 23:30 snow21#2
nimm mal für "$gui_event_close" einfach "exit" oder definier exit
so hast du zwei $ und kannst über gui und exit beenden wenn das eine nicht klappt klappt das andere
09/21/2011 22:39 Xemnas'#3
hab kein Bock es ausprobieren aber bei mir ist sowas schon mal passiert
GANZ unten rechts Rechtklick auf dein Programm und Beenden
09/21/2011 23:22 Lawliet#4
Wäre aber keine Lösung für die Allgemeinheit.