Hallo,
ich habe ein Programm, dass einen durch eine Batch-Datei erstellten Text in ein Edit-Feld schreibt, geschrieben.
Wenn ich in Scite F5 drücke funktioniert auch aller super, aber wenn ich Rechtslick->Run mache oder compiliere und dann die Exe starte erscheint kein Text in der Edit.
Was soll ich machen?
Programm funktioniert nach dem Compilieren nicht mehr richtig!
-
- [ gelöst ]
-
Nathax -
12. Dezember 2011 um 14:54 -
Geschlossen -
Erledigt
-
-
1.) bitte Code/exe ( villeicht hilfreich )
2.) Ist die exe auch im selben verzeichnis wie die dazugehörige au3 datei? Wegen Pfad etc.mfg
Hauke -
Sry, aber das Programm wird nacher verkauft, deshalb kann ich weder den Code noch die Exe hier preisgeben. Die Exe ist im richtigen Verzeichnis.
Edit: Mache ich Run(x64) bzw. Compile x64 so funktioniert es
Mit Compile(x64) ebenso, aber können das jetzt alle, d.h. XP-Nutzer/Win7-Nutzer mit 32-Bit benutzen? -
Nein geht nicht.
32.exe funktioniert auf 64Bit System aber nicht umgekehrt.
-
Habe ich mir schon gedacht. Was soll ich nun machen, damit das Programm auch bei 32er Nutzer geht?
-
Compile x32 ? , 64Bit Systeme sind abwärtskompatibel
Gruß Marvin -
Dann funktioniert es aber wie gesagt ja nicht
-
- Offizieller Beitrag
Dann benutzt Du irgendwelche falschen Pfade oder, oder, oder...
Wie sollen wir das sagen ohne das Skript? -
Ok, hier die Teile, die dafür zuständig sind:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
$ServerControlTab = GUICtrlCreateTabItem("Server-Control")$ChatLogEdit = GUICtrlCreateEdit("", 8, 92, 675, 401, BitOR($ES_READONLY, $ES_WANTRETURN, $WS_VSCROLL, $WS_HSCROLL))
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetFont(-1, 10, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xffffff)...
[/autoit] [autoit][/autoit] [autoit]AdlibRegister("_getLog", 1000)
[/autoit] [autoit][/autoit] [autoit]...
[/autoit] [autoit][/autoit] [autoit]Func _getLog()
[/autoit]
If StringReplace(StringReplace(FileRead(@ScriptDir & "\Files\Server\server.log"), @YEAR, @CRLF & @YEAR), @CRLF, "", 1) <> $LogOld Then
GUICtrlSetData($ChatLogEdit, StringReplace(StringReplace(FileRead(@ScriptDir & "\Files\Server\server.log"), @YEAR, @CRLF & @YEAR), @CRLF, "", 1))
_GUICtrlEdit_LineScroll($ChatLogEdit, 0, _GUICtrlEdit_GetLineCount($ChatLogEdit))
$LogOld = StringReplace(StringReplace(FileRead(@ScriptDir & "\Files\Server\server.log"), @YEAR, @CRLF & @YEAR), @CRLF, "", 1)
EndIf
EndFunc ;==>_getLogDas mit den Pfaden kann ja eigentlich nicht sein, da es keinen Unterscheid macht, ob ich Rechtsklick->Run oder F5 in Scite mache.
-
Also in der Passage die du gepostet hast sollte es keinen unterschied machen ob X32 oder X64..
Gruß Marvin
-
Ich weiß echt nicht was ich machen soll -.-
-
Kann mir denn einer die am häufigsten verwendeten Befehle sagen, die nur mit 64-Bit laufen?
-
Autoit läuft soweit ich weiß auf x32 sowie x64 je nachdem wie du es Compilierst, ich verstehe nicht wie wir dir ohne dein SourceCode helfen sollen.. wenn du uns nichts zeigst können wir dir nicht helfen.
Gruß Marvin
-
Es kann unterschiedliche Ursachen haben. Wie schon mehrmals gesagt kann man ohne den Code nichts dazu sagen.
-
Ich hab doch schon viel gepostet, der Rest funktioniert ja. Nur halt nicht das Auslesen. Hier nochmal die Funktion die beim Klick auf Start ausgeführt wird:
Spoiler anzeigen
[autoit]GUICtrlSetState($StartButton, $GUI_DISABLE)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($RestartButton, $GUI_DISABLE)
GUICtrlSetState($BackupButton, $GUI_DISABLE)
GUICtrlSetState($HideLabel, $GUI_SHOW)
HotKeySet("{RIGHT}", "_blockTabs")GUICtrlSetData($ChatLogEdit, "")
[/autoit] [autoit][/autoit] [autoit]If $RamBoost = "" Then
[/autoit] [autoit][/autoit] [autoit]
Run(@ScriptDir & "\Files\Server\run0.bat", @ScriptDir & "\Files\Server\", @SW_HIDE)
ElseIf $RamBoost = "1024MB" Then
Run(@ScriptDir & "\Files\Server\run1.bat", @ScriptDir & "\Files\Server\", @SW_HIDE)
ElseIf $RamBoost = "2048MB" Then
Run(@ScriptDir & "\Files\Server\run2.bat", @ScriptDir & "\Files\Server\", @SW_HIDE)
ElseIf $RamBoost = "3072MB" Then
Run(@ScriptDir & "\Files\Server\run3.bat", @ScriptDir & "\Files\Server\", @SW_HIDE)
EndIf
FileDelete(@ScriptDir & "\Files\Server\server.log")AdlibRegister("_getLog", 1000)
[/autoit] [autoit][/autoit] [autoit]WinWait("[class:ConsoleWindowClass]", "")
[/autoit] [autoit][/autoit] [autoit]
$CMDTitle = WinGetTitle("[class:ConsoleWindowClass]")While 1
[/autoit]
Sleep(50)
If StringInStr(GUICtrlRead($ChatLogEdit), "For help, type") <> "" Then ExitLoop
WEnd
$Aktiv = True
AdlibUnRegister("_blockTabs")
GUICtrlSetData($StartButton, "Stop")
GUICtrlSetState($StartButton, $GUI_ENABLE)
GUICtrlSetState($RestartButton, $GUI_ENABLE)
GUICtrlSetState($CMDKickButton, $GUI_ENABLE)
GUICtrlSetState($CMDGiveItemButton, $GUI_ENABLE)
GUICtrlSetState($CMDBanButton, $GUI_ENABLE)
GUICtrlSetState($CMDBanIPButton, $GUI_ENABLE)
GUICtrlSetState($CMDPardonButton, $GUI_ENABLE)
GUICtrlSetState($CMDPardonIPButton, $GUI_ENABLE)
GUICtrlSetState($CMDTellButton, $GUI_ENABLE)
GUICtrlSetState($CMDTeleportButton, $GUI_ENABLE)
GUICtrlSetState($CMDSayButton, $GUI_ENABLE)
GUICtrlSetState($CMDSetTimeButton, $GUI_ENABLE)
GUICtrlSetState($CMDOpButton, $GUI_ENABLE)
GUICtrlSetState($CMDDeOpButton, $GUI_ENABLE)
GUICtrlSetState($CMDGiveXPButton, $GUI_ENABLE)
GUICtrlSetState($CMDToggleButton, $GUI_ENABLE)
GUICtrlSetState($BackupButton, $GUI_ENABLE)
GUICtrlSetState($CommandInput, $GUI_ENABLE)
GUICtrlSetState($CMDHelpButton, $GUI_ENABLE)
GUICtrlSetState($HideLabel, $GUI_HIDE)
HotKeySet("{RIGHT}") -
Ein Codefetzen wird auch nicht viel bringen.
Ein Minimalbeispiel das man nachvollziehen kann bei dem der Fehler auftritt wäre schon notwendig.
Halt einfach einen vollständigen funktionierenden Code den jeder einfach nur testen kann ohne noch was zu verändern.
Desweiteren solltest du noch konkret sagen was eigentlich nicht funktioniert. Bisher hast du ja eigentlich nur als Fehlerbeschreibung gepostet: "Geht nicht - Text erscheint nicht".
Welcher Text?, Wo kommt er her?, Was sollte passieren wenn es funktionieren würde?... etc.
Halt eine vernünftige Problembeschreibung mit konkreten Aussagen welche den potentiell Helfenden nicht noch zusätzlich die Aufgabe des Gedankenlesens aufbürdet.Wenn du nicht verrätst was passiert und auch sonst so geheimnisvoll tust musst du auch alleine den Fehler finden.
-
Ich bin das Programm nochmal Schritt für Schrittt durchgegangen und habe den Fehler gefunden.
Ich würde ihn gern beschreiben, doch dazu müsste ich mindestens 50% meiner 2500 Zeilen erläutern.
Eins kann ich aber sagen, dieser Fehler ist echt komisch und hat nichts mit einem Befehl zu tun.
Viel eher lag es an einer Schleife, die abgeändert werden musste, damit nun endlich wieder alles funktioniert.
Danke an alle, die versucht haben, mir zu helfen