_WinAPI_CopyFileEx - bei Aufruf aus GUI muss diese den Fokus behalten

    • Offizieller Beitrag

    Ich habe nahezu identisch zum Hilfebeispiel die Funktion _WinAPI_CopyFileEx verwendet.

    In einer GUI werden Quelle und Ziel gewählt, die Progressbar ist in die Statusbar der GUI eingebettet.

    Soweit ist das alles funktionsfähig (es werden Dateien 1 - 2 GB Größe kopiert).

    Wenn jedoch die GUI den Fokus verliert, hängt sich die Anwendung auf.

    Hier mal ein (so nicht lauffähiger) Ausschnitt des Skriptes mit den wesentlichen Inhalten für die Kopierfunktion:

    Ich kann mir keinen Zusammenhang zwischen aktiver GUI und Funktionsfähigkeit der Kopierfunktion herleiten.

    Hat jemand eine Idee?

  • BugFix 8. Juni 2021 um 09:32

    Hat das Label [ offen ] hinzugefügt.
  • Ich habe dein Skript zum Laufen bekommen und konnte den Fehler nachvollziehen. Ich hatte die Idee, dass dies vielleicht an der While / Wend Schleife liegt und habe deshalb die GUI auf GUIOnEventMode gestellt, aber gleiches Ergebnis.

    Falls mir noch was einfällt, melde ich mich.

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Ich glaube, dass ich die Lösung gefunden habe. probiere es doch mal mit "Volatile" ->

    AutoIt
    Volatile Func _ProgressProc($iTotalFileSize, $iTotalBytesTransferred, $iStreamSize, $iStreamBytesTransferred, $iStreamNumber, $iCallbackReason, $hSourceFile, $hDestinationFile, $pData)

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

    • Offizieller Beitrag

    probiere es doch mal mit "Volatile"

    Schau an, das Keyword ist noch nie auf meinem Schirm aufgetaucht. (Was auch bedeutet, dass ich einigen Lua-Skripten meine Pattern für Funktionsdeklarationen mal anpassen sollte)

    So "flüchtig" betrachtet klingt das schon mal ganz gut - werde es testen.

    Danke fürs Suchen.