0

特定の関数でフォームを表示しない限り、正常に機能しているように見える小さなVBプロジェクトがあります。

以下のコードでは、form_progressが示されていますが(その後、関数の後半で非表示になっています)、実行が終了してもプロセスは終了しません(すべてのフォームが閉じられます)。その結果、手動で終了しない限り、デバッグでスタックします。コメントアウトした場合form_progress.Show()、すべてのフォームが閉じられると、プロセスは期待どおりに終了することに注意してください。

最初はフォームの問題に焦点を合わせましたform_progressが、そうではありません。この時点で表示するフォームがこの問題を引き起こします。エラーは発生していないので、どこを見ればいいのか迷ってしまいます。誰かが何か提案があれば、私はそれを評価したいと思います。ありがとう。

Public Sub complete_action(folder As String, rename As Boolean, include_sub_folders As Boolean)

    Dim dir As DirectoryInfo            ' The directory that they user selected as an object
    Dim output As String                ' The output to be placed in the log

    ' Set 'output' to be an empty string (to avoid errors)
    output = ""

    Try

        form_progress.Show()

        ' Set the DirectoryInfo object from the users selected directory name
        dir = New DirectoryInfo(folder)

        If include_sub_folders Then
            output = recursive_loop(dir, rename, output)
        Else
            output = loop_folder(dir, folder, rename)
        End If

        ' Write the log file
        write_text.Log_File.write_to_file(output)

        form_progress.Hide()

    Catch oError As Exception
        functions.error_handler(oError, "Error when looping through files", "complete_action")
    End Try

End Sub
4

1 に答える 1

1

Hide()の代わりにform_progress.Close()を使用してみてください。

于 2013-03-03T12:13:53.370 に答える