1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Yaerox

Beiträge von Yaerox

  • Speicher Leak?

    • Yaerox
    • 26. November 2012 um 10:37

    komplett Edit

    Für den Code siehe oben

    #Edit: Derzeitiger Wissens-/Vermutungsstand:

    Wenn ich die Funktion vergleiche_zeitstempel() wie folgt änder,

    Spoiler anzeigen
    [autoit]

    Func vergleiche_zeitstempel()
    Local $Row, $Query
    _SQLite_Query($DB, "SELECT geplante_startzeit FROM aufgabenliste ORDER BY geplante_startzeit ASC", $Query)
    _SQLite_FetchData($Query, $Row)
    EndFunc

    [/autoit]

    steigt der Speicher weiter. Dies zieht meine Vermutung irgendwie immer mehr auf SQLite als Ursache :/

  • Stringregexp - Satz/CodeZeile suchen

    • Yaerox
    • 26. November 2012 um 09:25

    Ob du ein Script das einen Text durchsucht direkt auf eine Seite im Web laufen lassen kannst weiss ich leider nicht, ich würde dir empfehlen die Datei zeilenweise einzulesen. Ist eine Zeile eingelesen, prüfe mit

    [autoit]

    StringRegExp ( "test", "pattern" [, flag [, offset]] )

    [/autoit]

    , wenn es vorhanden ist mach ABC, sonst XYZ.

    #Edit: Dies wäre mein Lösungsvorschlag ^^

    Spoiler anzeigen
    [autoit]

    Local $hfile = FileOpen("test.txt", 0)
    While 1
    Local $sLine = FileReadLine($hfile)
    If StringRegExp ($sLine, "<b>Datensatz deaktiviert.</b>", 0) = 1 Then ;~> 1 = matched, 0 = no match
    MsgBox(0,"","Matched")
    Else
    MsgBox(0,"","No Match")
    EndIf
    WEnd

    [/autoit]
  • Speicher Leak?

    • Yaerox
    • 26. November 2012 um 08:38

    Ohne _ReduceMemory ist der zugesicherte Speicher von Anfang an höher (Auch der Arbeitsspeicher im Taskmanager(privater Arbeitssatz)) und steigen tut er auch :/

    Im englischen Forum wurde mir nun gesagt:

    Zitat von BrewManNH

    ReduceMemory doesn't reduce the memory used, it just pages it to the hard drive, so it's an artificial reduction in memory. Calling it every 5 seconds is pointless, figure out where your memory leak is coming from before you start trying to find workarounds to bad code.

    It's like you're building a house on mud, every day it sinks a little bit more unless you jack it up, you're not fixing the problem you're just fixing the symptom, the house is still sinking only you don't see that it's happening anymore. Out of sight out of mind is not good coding practice.

    Nun heisst es wohl suche die Nadel im Heuhaufen :/

    Btw. Wegen dem Curserproblem hat niemand eine Idee? ^^

  • Problem bei Toolbarerstellung

    • Yaerox
    • 26. November 2012 um 08:33

    Vielleicht postest du ja einen lauffähigen Code und dann in den Spoiler und nicht darunter ;)

  • Speicher Leak?

    • Yaerox
    • 23. November 2012 um 14:10

    Trotzdem schonmal danke ^^

  • Speicher Leak?

    • Yaerox
    • 23. November 2012 um 13:56

    GUICtrlSetCursor(-1, -1) -> tut sich nichts
    GUICtrlSetCursor(-1, 4) -> selbe problem nur mit einem anderem Cursorsymbol

  • Speicher Leak?

    • Yaerox
    • 23. November 2012 um 13:52

    Also es ist kein Problem am Script! ^^

    Bei einem Kollegen geht das Script ohne Probleme ... wie man dem anderen Link entnehmen kann, scheint es ein Rechnerproblem zu sein?

  • Speicher Leak?

    • Yaerox
    • 23. November 2012 um 13:34

    Automatische Ablaufsteuerung -> Fehleranalyse Speichermanagement

    Hallo zusammen,

    #Edit:
    Problem: Mein Script ist vom Arbeitsspeicherverbrauch unmenschlich in die Luft gegangen und ich weiss echt nicht wieso. Ich bin der Meinung alles was irgendwo geöffnet wird wird auch wieder geschlossen und ich kann keine Stelle finden an der immer wieder neue Dinge erstellt werden und nicht gelöscht.

    Denkt daran die config.ini zu bearbeiten falls jemand helfen mag ;) Und die hw.bat ist dafür gedacht, dass ihr euch zum testen Arbeitspläne mit Arbeitspunkte erstellen könnt. Hier die kleine Info, wenn ihr die Interne Funktion _neu_einplanen nicht nutzt, wird der Arbeitsplan immer nur 1x ablaufen ;)

    Grüße

    Dateien

    YaeroxXO.rar 252,34 kB – 301 Downloads
  • Controlnummer (name) = NULL?

    • Yaerox
    • 23. November 2012 um 11:57

    Genau das wollte ich grad auf schreiben ... ich denke diese Zeilen mit

    [autoit]

    $LastCtrlID = _WinAPI_GetDlgCtrlID(GUICtrlGetHandle(-1))

    [/autoit]

    sind überflüssig.

    Und ich verstehe noch nicht ganz was du vor hast...du hast Radio Buttons, kannst du immer nur einen oder mehrere (falls das überhaupt mit Raiod möglich ist, dass weiss ich grad gar nicht :/) anklicken?
    Angenommen nur einen:
    Soll der der geklickt wird in eine .ini Datei geschrieben werden. Klickst du einen anderen an soll dieser Eintrag ersetzt, oder einfach unten drunter geschrieben werden?
    Angenommen mehr als einen:
    Die geklickten in eine .ini Datei schreiben. Klickst du andere an sollen diese Einträge ersetzt, oder einfach unten drunter geschrieben werden?

  • ToolbarWindow32 Probleme.

    • Yaerox
    • 23. November 2012 um 09:55

    Schonmal

    [autoit]

    GUIGetCursorInfo

    [/autoit]

    angeschaut?

  • Server Vertrauensstellung mit AutoIT lösen

    • Yaerox
    • 23. November 2012 um 09:31
    Zitat von BugFix

    @M@arc:
    Bei dem recht grob skizzierten Sachverhalt ("nehmen wir mal an..") und der Sicherheitsrelevanz dieser Thematik, verbietet sich jede Mausklickerei von vornherein.
    [...]
    Eine Mausklicklösung wird hierfür nicht supported, da sehe ich viel zu viel Gefährdungspotenzial. Solch Geklicke kann gewaltig nach hinten losgehen und ist als ernsthafte Lösung niemals in Betracht zu ziehen.


    @M@rc So wie ich das sehe wird es in einer Firma genutzt, da würde ich BugFix erstmal zustimmen und nach einer anständigen Lösung greifen... zu der Aussage du seist nicht der große Programmiere würde ich sagen learning by doing ;) Alternativ müsstest du wenn du jemanden findest der dir das schreibt halt sehr viele vll. vertrauensvolle Daten offenlegen ... da musst du halt wissen in wie fern das realistisch ist dass es jemand anders schreibt...

  • Mehrere Checkboxen mit unterschiedlichen Funktionen

    • Yaerox
    • 22. November 2012 um 10:52

    Wenn ich Zeit finden sollte werd ich mir darüber nochmal gedanken machen, es gibt ja diverse Möglichkeiten das umzusetzen, vll. ist ja sonst noch jemand von den erfahrenen AutoIt proggern später on der dir eine optimale Lösung bieten kann :)

    Grüße

  • Mehrere Checkboxen mit unterschiedlichen Funktionen

    • Yaerox
    • 22. November 2012 um 10:26

    Dann vielleicht sowas?

    Spoiler anzeigen
    [autoit]

    Func _CreateMailItem()
    Local $olMailItem = 0
    Local $olFormatRichText = 3
    Local $olImportanceLow = 0
    Local $olImportanceNormal= 1
    Local $olImportanceHigh = 2
    Local $olFormatHTML = 1
    Local $check

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

    $oOApp = ObjCreate("Outlook.Application")
    $oOMail = $oOApp.CreateItem($olMailItem)

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

    With $oOMail
    .To = $Input_Empfaenger_Read ;("beispiel@domain.com")
    .Subject = GUICtrlRead($Combo_Template) ;"email betreff"
    ;.BodyFormat = $olFormatRichText
    .BodyFormat = $olFormatHTML
    ;.Importance = $olImportanceHigh

    Local $anhaenge
    If GUICtrlRead($check1) = 1 Then
    $anhaenge = $anhaenge & 0
    EndIf
    If GUICtrlRead($check2) = 1 Then
    $anhaenge = $anhaenge & 1
    EndIf
    If GUICtrlRead($check3) = 1 Then
    $anhaenge = $anhaenge & 2
    EndIf
    If GUICtrlRead($check4) = 1 Then
    $anhaenge = $anhaenge & 3
    EndIf
    If GUICtrlRead($check5) = 1 Then
    $anhaenge = $anhaenge & 4
    EndIf
    If GUICtrlRead($check6) = 1 Then
    $anhaenge = $anhaenge & 5
    EndIf

    Local $splitAnhaenge = StringSplit($anhaenge, "")
    For $i To $splitAnhaenge[0]
    .Attachments.Add ($aDatei[$i])
    Next

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

    .HTMLBody = GUICtrlRead($Input_Template)
    ;.Body = GUICtrlRead($Input_Template)
    .Display
    ;.Send ;ist aus Sicherheitsgründen standartmäßig deaktiviert
    EndWith
    EndFunc ;--> _CreateMailItem()

    [/autoit]


    Ich hab grad net ganz so viel Zeit mir darüber Gedanken zu machen, man könnte bei dem Beispiel nun auch die Schleife und den Split weglassen und statt die Variable anhaenge zu nutzen bei den If-Abfragen immer direkt .Attachments.Add hinschreiben ... ist halt keine wirklich optimale Lösung und je nachdem wie viele verschiedene Anhänge es gibt unpraktisch aber das wäre jetzt ein wenig gedanken machen wie man das anders verpacken kann.

    Trotzdem hoffe ich wenigstens etwas geholfen haben zu können.
    Grüße

  • Mehrere Checkboxen mit unterschiedlichen Funktionen

    • Yaerox
    • 22. November 2012 um 10:16

    Sind die Namen der Anhänge denn auch alle hart codiert?

    Sonst würde ich das vielleicht ein wenig anders schreiben...
    Wenn hart codiert, und keine Verbindung zu ner DB oder sowas ist, dann vll. ein Array erstellen indem alle Anhänge (namentlich) gespeichert werden, und das Array als eine art Strichliste nutzen ... bei denen die gechecked worden sind wird dann der name aus dem Array gesucht und ab die post.

    #Edit: sry grad total unfähig das Forum zu nutzen, hab erst den Falschen post gelöscht gehabt ... naja Code s.u. :)

  • Counter gesucht

    • Yaerox
    • 22. November 2012 um 09:07
    Zitat von firewalldevil


    könnte man es noch bei erreichen des letzten Tages die Zeit blinken lassen?
    Das wäre sehr cool....


    Wenn du ihn doch ehh erst am letzten Arbeitstag startest, dann kann es ja ruhig immer blinken, oder nicht?

  • Counter gesucht

    • Yaerox
    • 19. November 2012 um 16:30

    Frag ich mal so, wie viele Tage voher willst du das starten?

  • Frage zu Array und StringSplit

    • Yaerox
    • 19. November 2012 um 14:51

    Ich hätte es wie AspirinJunkie mit einer 2D-Array Lösung versucht/gemacht.

    2D-Array Werte zuweisen, mit zwei Zählervariablen und ReDim :)

    Aber oben ist ja ein perfektes Beispiel :D

  • Counter gesucht

    • Yaerox
    • 19. November 2012 um 14:47

    Änder mal alternativ die Zeile

    [autoit]


    $Form1 = GUICreate("Form1", 800, 600, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_POPUP, $WS_GROUP, $WS_CLIPSIBLINGS), BitOR($WS_EX_TOPMOST, $WS_EX_WINDOWEDGE))

    [/autoit]


    in

    [autoit]

    $Form1 = GUICreate("Form1", 800, 600, -1, -1)

    [/autoit]
  • Counter gesucht

    • Yaerox
    • 19. November 2012 um 13:32

    Wenn du das

    [autoit]

    , BitOR($WS_MINIMIZEBOX, $WS_POPUP, $WS_GROUP, $WS_CLIPSIBLINGS), BitOR($WS_EX_TOPMOST, $WS_EX_WINDOWEDGE)

    [/autoit]

    in der Zeile GUICreate entfernst hast du ein normales Fenster das du dann verschieben kannst (wirst ja wahrscheinlich eine Desktoperweiterung o.ä. haben).

  • Counter gesucht

    • Yaerox
    • 19. November 2012 um 13:12
    Zitat von firewalldevil

    Dachte ich hätte das in der Themen überschrift erklärt, sorry...

    War nur nochmal als Absicherung :P siehe oben den Spoiler ;)

    Grüße

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™