Eine .ini für mehrere Scripts.

12/28/2013 13:08 mo.tennis#1
Hey Leute. Ich habe bewusst NICHT den Stickythread genommen, weil ich denke, dass das hier etwas langwieriger wird.

So.. zu meinem Problem...

Ich habe einen Script mit einer GUI. In dieser gui ist ein inputfeld. und 2 button
Wenn ich den ersten Button drücke, soll er den text aus dem inputfeld in eine .ini speichern. Das funktioniert auch einwandfrei. Mit dem 2ten Button starte ich einen zweiten externen script mit GUI. In diesem Script soll er die .ini auslesen. Was aber nicht funktioniert. Wenn ich jedoch den 2ten script ganz normal mit doppelclick starte kann er die zuvor erstelle .ini einwandfrei auslesen?

BTW. ich starte den script mit ShellExecute. Liegt es vielleicht daran?

Gruß MrLady
12/28/2013 13:15 alpines#2
Poste doch mal lieber deinen Code statt hier Theorien aufzustellen.
12/28/2013 13:29 mo.tennis#3
Script1:
Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 297, 161, 192, 124)
$Input1 = GUICtrlCreateInput("", 80, 40, 129, 21)
$Button1 = GUICtrlCreateButton(".ini schreiben", 104, 64, 75, 25)
$Button2 = GUICtrlCreateButton("script2 starten", 104, 96, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			IniWrite("testordner\Passwort.ini","Passwort","PW",GUICtrlRead($Input1))
		Case $Button2
			ShellExecute(@SCriptDir & "\testordner\script2.au3")
	EndSwitch
WEnd
script2:
Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#NoTrayIcon
;IniWrite("Passwort.ini","Passwort","PW","27015")
$pw = IniRead("Passwort.ini","Passwort","PW","")
HotKeySet("{ENTER}","_Enter")

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Test", 355, 223, 450, 360,$WS_POPUPWINDOW, $WS_EX_TOPMOST)


$input1 = GUICtrlCreateInput("", 56, 112, 233, 21,BitOR($ES_PASSWORD, $GUI_SS_DEFAULT_INPUT))
$unlock = GUICtrlCreateButton("Entsperren", 128, 160, 75, 33)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Send ("#m")


While 1


	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE

		Case $unlock
			_prove()
	EndSwitch
WEnd

Func _prove()
	$pwread = GUICtrlRead($input1)
	If $pwread = $pw Then
		Exit
	Else
	EndIf
EndFunc

Func _Enter()
	_prove()
	Sleep(1)
EndFunc
12/28/2013 14:00 Croco™#4
Schon probiert das 2. Script erst zu compilen und dann zu starten ?
Ich denke es liegt daran das dein 1. Script versuch eine .au3 zu starten und keine .exe.
12/28/2013 14:03 mo.tennis#5
hab ich schon probiert... kommt aufs selbe hinaus..trotzdem danke für deine Hilfe...

EDIT: ich hab jetzt mal #requireadmin an den anfang des zweiten scriptes gestzt. funktioniert aber auch nicht. -.-
12/28/2013 14:13 alpines#6
Nein, es spielt keine Rolle denn es kann auch uncompiled sein, nur muss .au3 mit der AutoIt.exe verknüpft werden (was standardmäßig nach der Installation passiert).

Du kannst es mal auch mit
Code:
Run()
probieren.
12/28/2013 14:24 mo.tennis#7
hab ich auch schon :mad: :( :(
12/28/2013 14:32 alpines#8
Dann wirds wohl am Pfad liegen, poste doch mal den Pfad.
12/28/2013 14:34 mo.tennis#9
der pfad vom ersten script
C:\Users\Moritz\Desktop\test123\teswt

der pfad vom zweiten script und der .ini
C:\Users\Moritz\Desktop\test123\teswt\testordner


EDIT:
wie gesagt... wenn ich den 2ten script normal starte, geht es ja einwandfrei...
also kanns doch garnicht am script liegen, oder?
12/28/2013 14:40 alpines#10
Pack die mal in den gleichen Ordner und versuchs mal damit.
12/28/2013 14:43 Croco™#11
Oder gib beim Parameter "WorkingDir" mal den Ordner an in dem die .au3 liegt.
12/28/2013 14:45 mo.tennis#12
danke!!
es funktioniert!!

Aber warum... wo liegt der unterschied????
12/28/2013 14:57 alpines#13
Hmm, sollte eigentlich nicht nötig sein da der Pfad davor ja schon steht, aber wenns so funktioniert warum nicht.
12/28/2013 15:04 mo.tennis#14
@alpines.... das von dir funktioniert!! hatte den anderen post überlesen...
12/28/2013 15:08 alpines#15
Wow, hätte ich nicht gedacht :D