Anwendung läuft bereist. Nur eine Instance erlaubt.

  • Hallo Forumgemeinde,

    Ich habe eine für eine Messsoftware eine Autoit Programm geschrieben was die Bedienung für den Anwender erleichtern soll.

    Das Script habe ich in eine EXE kompiliert.

    Mein Problem ist nun das wenn ich das Program lokal auf C ablege und starte kommt die Fehlermeldung "Anwendung läuft bereist. Nur eine Instance erlaubt."

    Starte ich das Program von einem Netzlaufwerk, läuft dieses tadelos.

    Jemand eine Idee?


    Gruß

  • [autoit]

    ProcessExists

    [/autoit]

    sollte dir helfen, allerdings sollte auch eine exe die nicht lokal liegt und gestartet wird auch im lokalen Taskmanager auftauchen.

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

  • Beim start über das angebundene Netzlaufwerk erscheint der Prozess im TaskManager. Beim lokalen start nicht, da kommt es nicht so weit.

    Mein Verdacht war ja auch das der Prozess noch irgendwo hängt. aber ein PC-Neustart hat hier auch nichts gebracht.

    Auf dem Rechner läuft auch noch das Program AutoMate5. Vl. kollidieren hier die Anwendungen mit einander.

    Auf meinem Notebook, wo ich das Prog geschrieben habe läuft es ja auch.

    Gruß

    Hier noch der Code

  • Hat den jemand eine Idee oder Erfahrung gemacht mit anderen AutoIt ähnlichen Programmen und derren zusammenspiel mit AutoIt???

  • Mein Problem ist nun das wenn ich das Program lokal auf C ablege und starte kommt die Fehlermeldung "Anwendung läuft bereist. Nur eine Instance erlaubt."

    Rein Interessehalber, liegt dein Script zufällig in einem Ordner, der auch "Chapman Control" heißt, und ist dieser Ordner noch im Explorer offen?
    Du führst die Abfrage ja selber durch

    [autoit]

    if WinExists("Chapman Control") Then
    MsgBox(16,"Error","Die Anwendung läuft bereits. Es ist nur eine Instance erlaubt.")
    Exit
    EndIf

    [/autoit]

    Probier es eventuell mal mit dem Befehl

    [autoit]

    _SingleTon()

    [/autoit]
  • Ich habe das Script von verschiedenen Ordnern aus gestartet. Das Ergebnis war immer gleich.

    Du meinst das Script findet sich selber? Ich dachte bevor noch keine GUI erzeugt wurde findet er sie auch nicht.
    Warum funktioniert es dann von einem Netzlaufwerk.

  • hey kannst du dein skript bitte nächstes mal mit den knöpfen oberhalb des beitragsstellfensters einrahmen, etwa so:

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_icon=Chapmann.ico #AutoIt3Wrapper_outfile=ChapmanControl.exe #AutoIt3Wrapper_Res_Fileversion=0.0.0.4 #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y #AutoIt3Wrapper_Res_Language=1031 #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Res_Icon_Add=i:\chapmann\Chapmann.ico #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <GUIListBox.au3> #include <GuiStatusBar.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #Include <File.au3> #Include <Array.au3> #Include <Date.au3> #include <GUIConstantsEx.au3> #include <ProgressConstants.au3> Global $RezeptPfad Global $RezeptName Global $Pfad Global $Titel Global $Slot Global $INI_File Global $Chapman_EXE Global $Pfad_Data_Export Global $Pfad_Data_Discard Global $Pfad_New_Data Local $Rezept_Ordner_Monitoring, $Rezept_Ordner_Technologie, $RezSPC_Grind, $RezSPC_Pol, $SlotSPC_Grind, $SlotSPC_Pol $INI_File = @ScriptDir & "\" & "ChapmanControll.ini" ;$Pfad = "C:\Program Files\SurfaceVision\DATA\At Siltronic\Produktion\Rezepte\" $Titel = "Chapman Surface Vision" if WinExists("Chapman Control") Then MsgBox(16,"Error","Die Anwendung läuft bereits. Es ist nur eine Instance erlaubt.") Exit EndIf #Region INI $Chapman_EXE = Read_INI("Programm","Chapman_EXE","Datei_EXE") $RezSPC_Pol = Read_INI("SPC","Rezept_SPC_Pol","Datei") $SlotSPC_Pol = Read_INI("SPC","Slot_SPC_Pol","Number") $RezSPC_Grind = Read_INI("SPC","Rezept_SPC_Grind","Datei") $SlotSPC_Grind = Read_INI("SPC","Slot_SPC_Grind","Number") $Rezept_Ordner_Monitoring = Read_INI("Produktion","Rezept_Ordner_Monitoring","Folder") $Rezept_Ordner_Technologie = Read_INI("Produktion", "Rezept_Ordner_Technologie","Folder") $Pfad_New_Data = Read_INI("DataDirectory","Pfad_New_Data","Folder") $Pfad_Data_Export = Read_INI("DataDirectory","Pfad_Data_Export","Folder") $Pfad_Data_Discard = Read_INI("DataDirectory","Pfad_Data_Discard","Folder") #EndRegion $FileListMonitor = _FileListToArray($Rezept_Ordner_Monitoring,"*.svd",1) $FileListTechnologie = _FileListToArray($Rezept_Ordner_Technologie,"*.svd",1) ; $FileListMonitor = _FileListToArray("c:\temp","*.txt",1) ; $FileListTechnologie = _FileListToArray("c:\temp","*.txt",1) #Region ### START Koda GUI section ### Form=c:\temp\chapman\chapman.kxf $Form1_1 = GUICreate("Chapman Control", 637, 425, -1, -1, BitOR($WS_SYSMENU,$WS_CAPTION,$WS_POPUP,$WS_BORDER,$WS_CLIPSIBLINGS), BitOR($WS_EX_APPWINDOW,$WS_EX_TOPMOST,$WS_EX_WINDOWEDGE)) GUISetIcon(@ScriptDir & "\Chapmann.ico") $Group1 = GUICtrlCreateGroup("Tool - SPC", 472, 8, 145, 105) GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif") $SPCPolish = GUICtrlCreateButton("SPC Polish", 504, 32, 75, 25, $WS_GROUP) GUICtrlSetTip(-1, "Sartet SPC Messung Polished Wafer") $SPCGrind = GUICtrlCreateButton("SPC Grind", 504, 72, 75, 25, $WS_GROUP) GUICtrlSetTip(-1, "Startet SPC Messung Grindwafer") GUICtrlCreateGroup("", -99, -99, 1, 1) $Group1 = GUICtrlCreateGroup("Tool - Init", 472, 121, 145, 60) GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif") $Init = GUICtrlCreateButton("Init", 504, 145, 75, 25, $WS_GROUP) GUICtrlSetTip(-1, "Init Roboter und Stage") GUICtrlCreateGroup("", -99, -99, 1, 1) $Group2 = GUICtrlCreateGroup("Produkt - Messungen", 16, 8, 441, 409) GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif") $Group3 = GUICtrlCreateGroup("Produktion Monitoring", 24, 32, 209, 377) GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif") $startProdukt = GUICtrlCreateButton("Start Produktmessung", 32, 376, 193, 25, $WS_GROUP) GUICtrlSetState(-1,$GUI_DISABLE) $Label1 = GUICtrlCreateLabel("Rezept auswählen:", 32, 56, 117, 20) $RezeptListMonitor = GUICtrlCreateList("", 32, 80, 193, 294) GUICtrlCreateGroup("", -99, -99, 1, 1) $Group4 = GUICtrlCreateGroup("Technologie Messungen", 240, 32, 209, 377) GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif") $startTechno = GUICtrlCreateButton("Start Messung", 248, 376, 193, 25, $WS_GROUP) GUICtrlSetState(-1,$GUI_DISABLE) $Label2 = GUICtrlCreateLabel("Rezept auswählen:", 248, 56, 117, 20) $RezeptListTechnologie = GUICtrlCreateList("", 248, 80, 193, 294) $Exit = GUICtrlCreateButton("Exit", 504, 376, 75, 25, $WS_GROUP) GUICtrlCreateGroup("", -99, -99, 1, 1) GUICtrlCreateGroup("", -99, -99, 1, 1) GUICtrlSetData($RezeptListMonitor,_ArrayToString($FileListMonitor,"|",1)) GUICtrlSetData($RezeptListTechnologie,_ArrayToString($FileListTechnologie,"|",1)) GUISetState(@SW_SHOW,$Form1_1) #EndRegion ### END Koda GUI section ### ;Statusbox öffnen #Region ### START Koda GUI section ### Form= $StatusBox = GUICreate("Statusbox", 344, 50, 5, @DesktopHeight - 150, BitOR($WS_CAPTION,$WS_BORDER), BitOR($WS_EX_TOPMOST,$WS_EX_WINDOWEDGE), $Form1_1) GUISetIcon("C:\temp\Plot3D.dll") $Progress1 = GUICtrlCreateProgress(0, 32, 342, 17) $StatusLabel = GUICtrlCreateLabel("", 0, 0, 340, 28) GUISetState(@SW_SHOWNOACTIVATE,$StatusBox) #EndRegion ### END Koda GUI section ### GUISetState(@SW_RESTORE,$Form1_1) WinActivate($Form1_1) Call ("StartUp") GUISetState(@SW_SHOW,$Form1_1) While 1 ;Haupmaske $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit case $Exit Exit Case $Init init() Case $SPCPolish $RezeptPfad = $RezSPC_Pol $Slot = $SlotSPC_Pol RunSPC($RezeptPfad) Case $SPCGrind $RezeptPfad = $RezSPC_Grind $Slot = $SlotSPC_Grind RunSPC($RezeptPfad) Case $startProdukt ;MsgBox (0,"",GUICtrlRead($RezeptListMonitor,1)) if GUICtrlRead($RezeptListMonitor) <> "" Then $RezeptPfad = $Rezept_Ordner_Monitoring & GUICtrlRead($RezeptListMonitor) EndIf ;msgbox (0,"Test",$RezeptPfad,4096) RunMess($RezeptPfad) Case $startTechno $RezeptPfad = $Rezept_Ordner_Technologie & GUICtrlRead($RezeptListTechnologie) RunMess($RezeptPfad) Case $RezeptListMonitor GUICtrlSetState($startProdukt,$GUI_ENABLE) Case $RezeptListTechnologie GUICtrlSetState($startTechno,$GUI_ENABLE) EndSwitch WEnd ;------------------------------------------------------ Func Read_INI($Section,$Key,$Type) Local $Value $Value = IniRead($INI_File,$Section,$Key,"NULL") if $Value == "NULL" or $Value == "" or $Value == "\" Then Select case $Type == "Number" $Value = InputBox("Fehlender Wert in INI-Datei",$Section & " " & $Key) Case $Type == "Datei" $Value = FileOpenDialog("Datei für " & $Key, "C:\", "Rezepte (*.svd)", 1) Case $Type == "Datei_EXE" $Value = FileOpenDialog("Datei für " & $Key, "C:\", "Executeable (*.exe)", 1) Case $Type == "Folder" $Value = FileSelectFolder("Ordner für " & $Key, "C:\",1) & "\" EndSelect IniWrite($INI_File,$Section,$Key,$Value) EndIf Return $Value EndFunc Func Init () $x=10 ;~ Init Stage und Roboter while ControlClick($Titel,"","Button78") = 0 GUICtrlSetData($Progress1, $x) if $x>100 then $x=0 $x = $x +10 Sleep(1000) WEnd While StatusbarGetText($Titel,"",7) <> "Ready" GUICtrlSetData($Progress1, $x) if $x>100 then $x=0 $x = $x +10 sleep(1000) WEnd EndFunc ;------------------------------------------------------ Func StartUp() ;Prüfen ob Software gestartet ist GUICtrlSetData($Progress1, 0) if WinActivate($Titel) = 0 Then if msgbox(4148,"Achtung", "Chapman Software ist nicht gestartet! Soll sie gestartet und initialisiert werden?") = 6 then GUISetState(@SW_HIDE,$Form1_1) GUICtrlSetData($StatusLabel,"Chapmansoftware wird gestartet und anschließend initialisiert.") GUICtrlSetData($Progress1, 10) ;start durchführen $return = Run($Chapman_EXE,"",@SW_MAXIMIZE) ;C:\Program Files\SurfaceVision\CISV.EXE if $return = 0 then MsgBox(16,"Error","Software konnte nicht gestartet werden!" & @LF & $INI_File & " prüfen!" & @LF &"Chapmancontroll wird beendet" & @LF & @LF & $Chapman_EXE) Exit EndIf ;init durchführen $x = 10 GUICtrlSetData($Progress1, $x) While StatusbarGetText($Titel,"",7) = "Maintenance" GUICtrlSetData($Progress1, $x) if $x>100 then $x=0 $x = $x +10 sleep(1000) WEnd WinActivate($Titel) While WinGetState($Titel,"") = 8 GUICtrlSetData($Progress1, $x) if $x>100 then $x=0 $x = $x +10 Sleep(1000) WEnd ;~ Init Stage und Roboter while ControlClick($Titel,"","Button78") = 0 GUICtrlSetData($Progress1, $x) if $x>100 then $x=0 $x = $x +10 Sleep(1000) WEnd While StatusbarGetText($Titel,"",7) <> "Ready" GUICtrlSetData($Progress1, $x) if $x>100 then $x=0 $x = $x +10 sleep(1000) WEnd GUICtrlSetData($StatusLabel,"Softwareinitialisierung abgeschlossen") Else GUICtrlSetData($StatusLabel,"ChapmanSoftware wird nicht ausgeführt." & @LF & "Programm wird beendet.") for $x = 100 to 0 step -10 GUICtrlSetData($Progress1, $x ) sleep(1000) Next Exit EndIf EndIf GUISetState(@SW_SHOW,$Form1_1) GUICtrlSetData($Progress1, 0) EndFunc ;------------------------------------------------------ Func RunSPC($Name) Local $x, $ReturnSelectWafer FileMove($Pfad_New_Data & "*.txt",$Pfad_Data_Discard & "*.txt",1) $x=0 guisetstate(@SW_HIDE,$Form1_1 ) GUICtrlSetData($StatusLabel,"SPC Messung gestartet"& @LF & "Rezept laden") if WinActivate($Titel) > 0 then ;Öffnen des Rezeptes call("RezeptLoad") ;wechseln in den Roboter Dialog der Chapman-Software sleep(1000) WinMenuSelectItem($Titel,"","&View","Robo&t Control") ;mapping starten GUICtrlSetData($StatusLabel,"SPC Messung gestartet" & @LF & "Mapping läuft") call ("Mapping") GUICtrlSetData($StatusLabel,"SPC Messung gestartet" & @LF & "Mapping abgeschlossen") ;Wafer selektieren, Wafer 1 soll automatisch selektiert werden $ReturnSelectWafer = SelectWafer(StatusbarGetText($Titel,"",2),"SPC" ) if IsNumber($ReturnSelectWafer) Then if $ReturnSelectWafer = 99 Then ;Code 99 = Abbruch durch Benutzer guisetstate(@SW_SHOW,$Form1_1 ) GUICtrlSetData($StatusLabel,"SPC Messung" & @LF & "Abbruch durch Benutzer") Return EndIf Else msgbox(16, "Fehler!", $ReturnSelectWafer & @LF & "Beheben Sie das Problem und starten sie erneut. ") GUICtrlSetData($StatusLabel,"SPC Messung" & @LF & "Fehler: " & $ReturnSelectWafer) Exit EndIf ;Messung start GUICtrlSetData($StatusLabel,"SPC Messung" & @LF & "Messung gestartet") WinMenuSelectItem($Titel,"","&Action","Acquire Casse&tte") ;wechseln in die Datenanzeige WinMenuSelectItem($Titel,"","&View","&Display Window") ;Warten bis Meesung beendet ist While 1 ;Statusbar setzen $x = $x + 5 GUICtrlSetData($Progress1, $x) if $x = 100 then $x=0 if StatusbarGetText($Titel,"",7) == "" Then ExitLoop sleep(1000) if StatusbarGetText($Titel,"",7) == "Fault" Then MsgBox (16,"Fehler bei Bearbeitung","Es ist ein Fehler während der Messung aufgetreten. Beheben sie den fehler und starten sie das Programm neu!") Exit EndIf WEnd GUICtrlSetData($Progress1, 0) $handel = WinWait("[CLASS:#32770]") ControlClick($handel,"","Button2","main") GUICtrlSetData($StatusLabel,"SPC Messung" & @LF & "Messung beendet") Sleep(500) ;warten bis operator auswahl zum Datenspeichern getroffen hat call ("MoveData") Else MsgBox (0,"Error","Anwendung läuft nicht") EndIf guisetstate(@SW_SHOW,$Form1_1 ) EndFunc ;------------------------------------------------------ Func RunMess($Name) guisetstate(@SW_HIDE,$Form1_1 ) local $x $x=0 FileMove($Pfad_New_Data & "*.txt",$Pfad_Data_Discard & "*.txt",1) if WinActivate($Titel) > 0 then sleep(1000) ;send("^N",0) ;Öffnen des Rezeptes call("RezeptLoad") ;wechseln in den Roboter Dialog der Chapman-Software sleep(1000) WinMenuSelectItem($Titel,"","&View","Robo&t Control") ;mapping starten GUICtrlSetData($StatusLabel,"Produkt Messung" & @LF & "Mapping läuft") call ("Mapping") GUICtrlSetData($StatusLabel,"Produkt Messung" & @LF & "Mapping abgeschlossen") ;Wafer selektieren, Aufruf der Funktion Selectwafer mit übergabe der Statuszeile und Slot bei SPC Messung GUICtrlSetData($StatusLabel,"Produkt Messung" & @LF & "Waferauswahl") $ReturnSelectWafer = SelectWafer(StatusbarGetText($Titel,"",2),"Prod") ;msgbox(0,"",$ReturnSelectWafer) if IsNumber($ReturnSelectWafer) Then if $ReturnSelectWafer = 99 Then ;Code 99 = Abbruch durch Benutzer guisetstate(@SW_SHOW,$Form1_1 ) guisetstate(@SW_SHOWDEFAULT,$Form1_1 ) GUICtrlSetData($StatusLabel,"Produkt Messung" & @LF & "Abbruch durch Benutzer") Return EndIf Else msgbox(16, "Fehler!", $ReturnSelectWafer & @LF & "Beheben Sie das Problem und starten sie erneut. ") GUICtrlSetData($StatusLabel,"Produkt Messung" & @LF & "Fehler: " & $ReturnSelectWafer) Exit EndIf ;~ if SelectWafer(StatusbarGetText($Titel,"",2),"PROD" ) = 0 Then ;~ msgbox(0, "Fehler beim Mapping festgestellt.", "Mindestens ein Wafer liegt nicht korrekt in der Kassette oder wurde falsch erkannt." & @LF & "Beheben Sie das Problem und starten sie erneut. " & @LF & "Das Programm wird nun beendet.") ;~ Exit ;~ EndIf ;Messung start GUICtrlSetData($StatusLabel,"Produkt Messung" & @LF & "Messung gestartet") WinMenuSelectItem($Titel,"","&Action","Acquire Casse&tte") ;wechseln in die Datenanzeige WinMenuSelectItem($Titel,"","&View","&Display Window") ;Warten bis Meesung beendet ist While 1 ;Statusbar setzen $x = $x + 5 GUICtrlSetData($Progress1, $x) if $x = 100 then $x=0 if StatusbarGetText($Titel,"",7) == "" Then ExitLoop sleep(1000) if StatusbarGetText($Titel,"",7) == "Fault" Then MsgBox (0,"Fehler bei Bearbeitung","Es ist ein Fehler während der Messung aufgetreten. Beheben sie den fehler und starten sie das Program neu!") Exit EndIf WEnd GUICtrlSetData($Progress1, 0) $handel = WinWait("[CLASS:#32770]") ControlClick($handel,"","Button2","main") GUICtrlSetData($StatusLabel,"Produkt Messung" & @LF & "Messung beendet") sleep(500) ;Datenspeicherung call ("MoveData") Else MsgBox (0,"Error","Anwendung läuft nicht") EndIf guisetstate(@SW_SHOW,$Form1_1 ) ;guisetstate(@SW_UNLOCK) EndFunc ;----------------------------------------------------------------------------------------- Func Mapping() ;mapping starten ; send("!c",0) $timeout= False $z=0 $MappList=False if StringInStr(StatusbarGetText($Titel,"",2) , "Wafers (0,1,2):",2) > 0 then $MappList = True EndIf ControlClick($Titel,"","Button14") ;warten bis mapping beendet ist While $z <= 20 ;$timeout;= False ;And ControlCommand($Titel,"","Button11","IsEnabled","") sleep(1000) if StringInStr(StatusbarGetText($Titel,"",2) , "Wafers (0,1,2):",2) > 0 and $MappList = False then ExitLoop EndIf if StatusbarGetText($Titel,"",7) == "Fault" Then MsgBox (0,"Fehler bei Mappen","Es ist ein Fehler während des Mappvorgangs aufgetreten. Beheben sie den Fehler und starten sie das Programm neu!") Exit EndIf $z=$z+1 GUICtrlSetData($Progress1, $z*5) if $z > 20 Then $timeout=True EndIf WEnd GUICtrlSetData($Progress1, 0) EndFunc ;----------------------------------------------------------------------------------------- Func SelectWafer($WaferList,$Mode) Local $ReturnCode $ReturnCode = 0 $p = StringInStr($WaferList," ",0,-1) $l = StringMid($WaferList,$p+1) dim $list[1],$Wafer[1], $s, $SelectedWafer, $iIndex ReDim $list[stringlen($l)+1] ReDim $Wafer[stringlen($l)+1] ;Waferliste zerlegen und auf CrossSlot prüfen for $i=1 to ubound($list)-1 $list[$i] = StringMid($l,$i,1) if $list[$i] > 1 Then $ReturnCode = "Crossslot festgestellt." Return $ReturnCode EndIf Next ;Form erzeugen mit der Anzahl der benötigten Checkboxen #Region ### START Koda GUI section ### Form= $Form2 = GUICreate("WaferList", 413, 333, 283, 178) $Label1 = GUICtrlCreateLabel("Zu messende Wafer selektieren:", 8, 8, 157, 17) $Uebernehmen = GUICtrlCreateButton("Waferliste übernehmen",280,250,125, 25, $WS_GROUP) $CloseWaferlist = GUICtrlCreateButton("Zurueck",280,300,125, 25, $WS_GROUP) $s = 8 $z = 1 for $i=1 to ubound ($List)-1 if $i > 20 then $s=280 $z=$i-20 ElseIf $i > 10 Then $s=140 $z=$i-10 Else $z=$i EndIf $Wafer[$i] = GUICtrlCreateCheckbox("Wafer " & $i , $s, 30 * $z , 100, 25) if $list[$i]=0 Then GUICtrlSetState(-1, $GUI_DISABLE) Elseif $list[$i]=1 Then GUICtrlSetState(-1,$GUI_ENABLE) ElseIf $list[$i]=2 Then $ReturnCode = "Crossslot festgestellt." EndIf Next GUISetState(@SW_SHOW,$Form2) #EndRegion ### END Koda GUI section ### ;Auslesen der selektierten Wafer While 1 $nMsg = GUIGetMsg() if $Mode=="SPC" Then $nMsg = $Uebernehmen if $list[$Slot] == 1 Then ;Prüfung pb Wafer im Slot vorhanden ist GUICtrlSetState($Wafer[$Slot],$GUI_CHECKED) Else msgbox(16,"SPC-Wafer","SPC Wafer nicht in Slot " & $Slot & " gefunden!") $ReturnCode = "SPC Wafer nicht in Slot " & $Slot & " gefunden!" $nMsg = $CloseWaferlist EndIf EndIf Switch $nMsg Case $GUI_EVENT_CLOSE guisetstate(@SW_HIDE,$Form2) $ReturnCode = 99 ExitLoop Case $Uebernehmen for $i=1 to ubound ($Wafer)-1 if GUICtrlRead($Wafer[$i]) = 1 Then $SelectedWafer = $SelectedWafer & $i & "," EndIf Next ;~ Wafer in Textfeld eintragen und übernehmen if ControlSetText($Titel,"","Edit3",$SelectedWafer) =0 Then $ReturnCode = "Waferselect schlug fehl!" endif if ControlClick($Titel,"","Button11")=0 then $ReturnCode = "Übernahme Waferselect schlug fehl!" endif ExitLoop Case $CloseWaferlist guisetstate(@SW_HIDE,$Form2) $ReturnCode = 99 ExitLoop EndSwitch WEnd guisetstate(@SW_HIDE,$Form2) return $ReturnCode EndFunc ;----------------------------------------------------------------- Func MoveData() GUICtrlSetData($StatusLabel,"Datenspeicherung?") Dim $datei ;Abfragen ob Daten gespeichert werden sollen $datei = _FileListToArray($Pfad_New_Data,"*.txt",1) $State = MsgBox(4,"Datenhandler","Vorhandene Daten der Messung speichern?" & @LF & $datei[0] & " File(s) gefunden.") ;aktuelle Zeit auslesen und formatieren Dim $MyTime $MyTime = _NowCalc() $MyTime =StringRegExpReplace($MyTime,"[/ :]","") if $State = 6 Then ;Datei in result Ordner verschieben FileMove($Pfad_New_Data & $datei[1],$Pfad_Data_Export & $MyTime & ".dat") GUICtrlSetData($StatusLabel,"Datenspeicherung?" & @LF & "Daten wurden exportiert.") Else FileMove($Pfad_New_Data & $datei[1],$Pfad_Data_Discard & $MyTime & ".dat") GUICtrlSetData($StatusLabel,"Datenspeicherung?" & @LF & "Daten wurden verworfen.") EndIf EndFunc ;----------------------------------------------------------------- Func RezeptLoad() ;~ Momentan geladenes Rezept schließen und evtl. Meldung abfangen und mit No bestätigen WinMenuSelectItem($Titel,"","&File","&Close") Sleep(500) if WinExists("[CLASS:#32770]") Then ControlClick("[CLASS:#32770]","","Button2","main",2) ;~ Ausgewähltes Rezept laden sleep(500) WinMenuSelectItem($Titel,"","&File","&Open") WinWaitActive("Open") if not ControlSend("Open","","Edit1",$RezeptPfad) then msgbox (16,"Rezeptfehler","Das gewählte Rezept konnte nicht geldaen werden. Bitte Rezept mit Hand aushählen und laden.") controlclick("Open","","Button2","Main",2) WinWaitClose("Open") EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]


    sonst muss man so viel scrollen

    PS: erst SP dann das blaue A daneben anklicken, dann Strg+V :)

    EDIT: Mist, naja egal du weißt, was gemeint ist :S

  • sonst muss man so viel scrollen


    Und wenn man, so wie du, Opera oder Google Chrome benutzt, sollte man seinen Quelltext hier im Forum im "Quellcode"-Reiter einfügen, nicht im "Editor"-Reiter.

    Sonst muss man nämlich umso mehr scrollen, wenn alles in einer einzigen Zeile ist.

  • Dass alles in einer Zeile steht liegt daran, dass Iceage das so gepostet hat ich alles kopiert hab und bei mir eingefügt hab.


    Der Skriptcode von iceage ist im Gegensatz zu deinem richtig formatiert da scheint die Aussage von SEuBo wohl auch auf den IE9 zuzutreffen, einfach mal im Testforum ausprobieren,

    mfg autoBert