RAM Problem

  • Ich bin so gut wie ferting mit meinem ClipBoardEXtender, der bewirkt das man mehrere Textfragmente im clipboardverwalten kann.
    Jetzt guck ich so in den Taskmanager und sehe, dass sobald die gui geöffnet ist, sich die Zahl der vbelegten RAMs stetig vergrößert.
    Meine Frage nun, wie kann ich den RAM clearen oder Autoit dazu bringen garnicht der RAM vollzuschreiben?

    Spoiler anzeigen
    [autoit]

    #include "ModernMenuRaw.au3"
    #include <GUIconstants.au3>
    #include <Clipboard.au3>
    #include <EditConstants.au3>
    #include <File.au3>

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

    #NoTrayIcon
    Global $gui
    Global $input0, $input1, $input2, $input3, $input4

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

    Opt("GUIOnEventMode", 1)

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

    Hotkeyset("^!c","activate")
    HotKeyset("^!s","show")

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

    DirCreate(@Scriptdir&"\cache")

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

    $activate = 0
    $trayicon = _TrayIconCreate("ClipboardExtender","inactive.ico")
    _TrayIconSetState()
    $context = _TrayCreateContextMenu($trayicon)
    $activatebutt = _TrayCreateItem("aktivieren",$context)
    $exitactivatebutt = _TrayCreateItem("beenden",$context)
    $infobutt = _TrayCreateItem("info",$context)
    $showclipboard = _TrayCreateItem("zwischenablageninhalt anzeigen",$context)

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

    GUICtrlSetOnEvent($exitactivatebutt,"end")
    GUICtrlSetOnEvent($activatebutt,"activate")
    GUICtrlSetOnEvent($infobutt,"info")
    GUICtrlSetOnEvent($showclipboard,"show")

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

    Func activate()
    If $activate = 0 Then
    $activate = 1
    _TrayTip($trayicon,"ClipboardExtender","aktiviert",5000)
    _TrayIconSetIcon($trayicon,"active.ico")
    HotKeySet("!{F9}","send1")
    HotKeySet("!{F10}","send2")
    HotKeySet("!{F11}","send3")
    HotKeySet("!{F12}","send4")
    HotKeySet("^{F9}","copy1")
    HotKeySet("^{F10}","copy2")
    HotKeySet("^{F11}","copy3")
    HotKeySet("^{F12}","copy4")
    HotKeySet("^v","paste")
    _TrayItemSetText($activatebutt,"deaktivieren")
    ElseIf $activate = 1 Then
    $activate = 0
    _TrayTip($trayicon,"ClipboardExtender","deaktiviert",5000)
    _TrayIconSetIcon($trayicon,"inactive.ico")
    HotKeySet("^1")
    HotKeySet("^2")
    HotKeySet("^3")
    HotKeySet("^4")
    HotKeySet("!1")
    HotKeySet("!2")
    HotKeySet("!3")
    HotKeySet("!4")
    HotKeySet("^v")
    _TrayItemSetText($activatebutt,"aktivieren")
    EndIf
    EndFunc

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

    While Sleep(1000)
    If WinExists("Zwischenablage") = 1 Then
    GUICtrlSetData($input0,"")
    GUICtrlSetData($input1,"")
    GUICtrlSetData($input2,"")
    GUICtrlSetData($input3,"")
    GUICtrlSetData($input4,"")
    GUICtrlSetData($input0,ClipGet())
    $fileread1 = FileOpen(@Scriptdir&"\cache\1.txt",0)
    $fileread2 = FileOpen(@Scriptdir&"\cache\2.txt",0)
    $fileread3 = FileOpen(@Scriptdir&"\cache\3.txt",0)
    $fileread4 = FileOpen(@Scriptdir&"\cache\4.txt",0)
    GUICtrlSetData($input1,FileRead(@Scriptdir&"\cache\1.txt"))
    GUICtrlSetData($input2,FileRead(@Scriptdir&"\cache\2.txt"))
    GUICtrlSetData($input3,FileRead(@Scriptdir&"\cache\3.txt"))
    GUICtrlSetData($input4,FileRead(@Scriptdir&"\cache\4.txt"))
    FileClose($fileread1)
    FileClose($fileread2)
    FileClose($fileread3)
    FileClose($fileread4)
    EndIf
    WEnd

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

    #region copy funcs
    Func copy1()
    FileDelete(@Scriptdir&"\cache\1.txt")
    _FileCreate(@Scriptdir&"\cache\1.txt")
    $fileslot1 = FileOpen(@Scriptdir&"\cache\1.txt",1)
    FileWrite(@Scriptdir&"\cache\1.txt",ClipGet())
    FileClose($fileslot1)
    EndFunc

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

    Func copy2()
    FileDelete(@Scriptdir&"\cache\2.txt")
    _FileCreate(@Scriptdir&"\cache\2.txt")
    $fileslot2 = FileOpen(@Scriptdir&"\cache\2.txt",1)
    FileWrite(@Scriptdir&"\cache\2.txt",ClipGet())
    FileClose($fileslot2)
    EndFunc

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

    Func copy3()
    FileDelete(@Scriptdir&"\cache\3.txt")
    _FileCreate(@Scriptdir&"\cache\3.txt")
    $fileslot3 = FileOpen(@Scriptdir&"\cache\3.txt",1)
    FileWrite(@Scriptdir&"\cache\3.txt",ClipGet())
    FileClose($fileslot3)
    EndFunc

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

    Func copy4()
    FileDelete(@Scriptdir&"\cache\4.txt")
    _FileCreate(@Scriptdir&"\cache\4.txt")
    $fileslot4 = FileOpen(@Scriptdir&"\cache\4.txt",1)
    FileWrite(@Scriptdir&"\cache\4.txt",ClipGet())
    FileClose($fileslot4)
    EndFunc
    #endregion

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

    #region send funcs
    Func send1()
    $fileread1 = FileOpen(@Scriptdir&"\cache\1.txt",0)
    ClipPut(FileRead(@Scriptdir&"\cache\1.txt")
    FileClose($fileread1)
    EndFunc

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

    Func send2()
    $fileread2 = FileOpen(@Scriptdir&"\cache\2.txt",0)
    ClipPut(FileRead(@Scriptdir&"\cache\2.txt")
    FileClose($fileread2)
    EndFunc

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

    Func send3()
    $fileread3 = FileOpen(@Scriptdir&"\cache\3.txt",0)
    ClipPut(FileRead(@Scriptdir&"\cache\3.txt")
    FileClose($fileread3)
    EndFunc

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

    Func send4()
    $fileread4 = FileOpen(@Scriptdir&"\cache\4.txt",0)
    ClipPut(FileRead(@Scriptdir&"\cache\4.txt")
    FileClose($fileread4)
    EndFunc
    #endregion

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

    #region GUI funcs
    Func show()
    If WinExists("Zwischenablage") = 1 Then
    GUIDelete($gui)
    EndIf
    Opt("guioneventmode",1)
    $gui = GUICreate("Zwischenablage",200,200,@DesktopWidth - 210,@DesktopHeight / 2)
    WinSetOnTop("Zwischenablage","",1)
    $cb = GUICtrlCreateButton("CB:",5,10,40,20)

    $slot1 = GUICtrlCreateButton("Slot 1:",5,50,40,20)
    $slot2 = GUICtrlCreateButton("Slot 2:",5,90,40,20)
    $slot3 = GUICtrlCreateButton("Slot 3:",5,130,40,20)
    $slot4 = GUICtrlCreateButton("Slot 4:",5,170,40,20)

    $input0 = GUICtrlCreateInput("",50,10,140,20,$ES_AUTOHSCROLL)
    $input1 = GUICtrlCreateInput("",50,50,140,20,$ES_AUTOHSCROLL)
    $input2 = GUICtrlCreateInput("",50,90,140,20,$ES_AUTOHSCROLL)
    $input3 = GUICtrlCreateInput("",50,130,140,20,$ES_AUTOHSCROLL)
    $input4 = GUICtrlCreateInput("",50,170,140,20,$ES_AUTOHSCROLL)

    GUICtrlSetOnEvent($slot1,"slot1")
    GUICtrlSetOnEvent($slot2,"slot2")
    GUICtrlSetOnEvent($slot3,"slot3")
    GUICtrlSetOnEvent($slot4,"slot4")
    GUICtrlSetOnEvent($cb,"cb")

    GUISetOnEvent($GUI_EVENT_CLOSE,"exitwindow")
    GUISetOnEvent($GUI_EVENT_MINIMIZE,"exitwindow")
    GUISetState(@SW_SHOW)
    EndFunc

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

    Func slot1()
    FileDelete(@Scriptdir&"\cache\1.txt")
    GUICtrlSetData($input1,"")
    EndFunc

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

    Func slot2()
    FileDelete(@Scriptdir&"\cache\2.txt")
    GUICtrlSetData($input2,"")
    EndFunc

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

    Func slot3()
    FileDelete(@Scriptdir&"\cache\3.txt")
    GUICtrlSetData($input3,"")
    EndFunc

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

    Func slot4()
    FileDelete(@Scriptdir&"\cache\4.txt")
    GUICtrlSetData($input4,"")
    EndFunc

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

    Func cb()
    ClipPut("")
    GUICtrlSetData($input0,"")
    EndFunc

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

    Func exitwindow()
    GUIDelete($gui)
    EndFunc
    #endregion

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

    Func info()
    MsgBox(0,"Info","ClipBoardEXtenter (c) by Jan S."&@CRLF&""&@CRLF&"Tastaturmapping:"&@CRLF&""&@CRLF&"Strg + Alt + C = ClipboardEXtender aktivieren"&@CRLF&"Strg + Alt + S = Zwischenablage anzeigen"&@CRLF&"Strg + F9 = Aktuellen Inhalt des Clipboards Slot 1 zuweisen"&@CRLF&"Strg + F10 = Aktuellen Inhalt des Clipboards Slot 2 zuweisen"&@CRLF&"Strg + F11 = Aktuellen Inhalt des Clipboards Slot 3 zuweisen"&@CRLF&"Strg + F12 = Aktuellen Inhalt des Clipboards Slot 4 zuweisen"&@CRLF&""&@CRLF&""&@CRLF&"ACHTUNG: Der ClipBoardEXtender speichert keine Dateien; wird eine Datei kopiert wird nur der Pfad im ClipBoardEXtenter gespeichert")
    EndFunc

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

    Func end()
    _TrayIconDelete($trayicon)
    Exit
    EndFunc

    [/autoit]
  • Ich glaube du hast FileOpen und FileRead noch nicht so ganz verstanden....

    Spoiler anzeigen
    [autoit]

    $fileread1 = FileOpen(@Scriptdir&"\cache\1.txt",0)
    $fileread2 = FileOpen(@Scriptdir&"\cache\2.txt",0)
    $fileread3 = FileOpen(@Scriptdir&"\cache\3.txt",0)
    $fileread4 = FileOpen(@Scriptdir&"\cache\4.txt",0)
    GUICtrlSetData($input1,FileRead(@Scriptdir&"\cache\1.txt"))
    GUICtrlSetData($input2,FileRead(@Scriptdir&"\cache\2.txt"))
    GUICtrlSetData($input3,FileRead(@Scriptdir&"\cache\3.txt"))
    GUICtrlSetData($input4,FileRead(@Scriptdir&"\cache\4.txt"))

    [/autoit]


    Und wozu benötigst du FileCreate? Wenn du eine Datei die nicht existiert mit FileOpen in einem Schreibmodus öffnest wird sie erstellt...

  • Das ist nicht mein Problem. Der RAM läuft auch dann über wenn ich nichts mache, außer die GUI öffnen.
    Außerdem habe ich das Problem schon dadurch gelöst, dass ich den Inhalt der While - Schleife auskommentart habe.
    Aber das ist ja nicht das was ich möchte...

    Edit: Jetzt siehts ordentlicher aus. Dies löst aber mein Problem nicht...

  • wie du siehst kann man auch bei zitiertem Quellcode durch manuelles nacharbeiten eine vernünftige Formatierung erreichen, sei also bitte in Zukunft so nett und füge die AutoIt-Tags ein.

    Zitat von AutoBert (Zwischenablage in ini schreiben und extrahieren)

    da du ModernMenuRaw includest, was ich nicht habe kann ich es aber nicht testen. Nimm doch die normalen Tray-Funktionen,

    vielleicht ist ja ModernMenuRaw daran schuld?

    PS.: es soll Leute geben, die auf lieblose Post's nicht antworten. Pushen und erst recht aus anderen Threads heraus, wird nicht so gerne gesehen :!:

    mfg (Auto)Bert

    Einmal editiert, zuletzt von AutoBert (24. Juni 2010 um 16:28)