Hallo Community!
Ich befasse mich erst seit ein paar Tagen mit AutoIT und versuch gerade ein kleines Skript zur Abfrage einer MySQL-DB zu erstellen. Das Skript läuft auch wunderbar, wenn ich es jedoch kompiliere ist beim ausführen dieser exe auf einem Vista-System die Startperformance eine absolute Katastrophe.
Meine Analyse zeigt, dass im sobald ich das kompilierte Skript starte, die Prozessorlast auf 100% geht und dort für ca. 1-2 Minuten bleibt, bis das Skript komplett gestartet ist.
Wenn man sich nun das Skript ansieht, wundert mich dieses Verhalten. Im Prinzip wird erst einmal nichts weiter gemacht, als ein kleines GUI mit einem ListView und einem Button zu erzeugen.
#include "MySql.au3"
#include <GUIConstants.au3>
#Include <GuiListView.au3>
;#RequireAdmin
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("myApp", 625, 443, 193, 125)
GUISetIcon("myIcon.ico")
$List1 = GUICtrlCreateList("", 8, 8, 345, 409)
$Button1 = GUICtrlCreateButton("Abfragen", 450, 50)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Func getData()
$UserName = "myUserName"
$Password = "myPassword"
$Database = "myDatabase"
$MySQLServerName = "localhost"
$SQLInstance = _MySQLConnect($UserName,$Password,$Database,$MySQLServerName)
;$SQLCode = "SELECT * FROM kunden WHERE ANBINDUNG='LAN'"
$SQLCode = "SELECT * FROM kunden"
$TableContents = _Query($SQLInstance,$SQLCode)
With $TableContents
While Not .EOF
;_GUICtrlListView_AddItem($List1, .Fields("NAME").value)
GUICtrlSetData($List1, .Fields("NAME").value)
;MsgBox(0, "Output", .Fields("NAME").value, 0)
.MoveNext
WEnd
EndWith
_MySQLEnd($SQLInstance)
EndFunc
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
getData()
EndSwitch
WEnd
Alles anzeigen
Un-kompiliert gibts keine Performance-Probleme. Wo könnte das Problem liegen? Selbst beim rechtsklick auf die kompilierte exe dauert es ewig, bis Vista reagiert! Sehr merkwürdig...