2011-06-28 6 views
1

FoxProプログラムには終了ボタンと通常の最小/最大/ Xボタンがあります。適切に閉じたようだ。しかし、タスクマネージャをチェックすると、まだ実行中であることがわかります。私のVisual FoxProアプリケーションが終了しているようですが、まだタスクマネージャで実行中です

は、これは私のMAIN.PRGファイルです:

ON SHUTDOWN CLEAR EVENTS 
with _screen 
.visible = .f. 
endwith 

DO FORM locations\form1 
READ EVENTS 
ON SHUTDOWN 

、これが私の終了ボタン「クリック」イベントのコードです:

unlock all 
close database all 
clear events 
RELEASE ALL 
quit 

私のプログラムは一つだけのフォームを持っており、それが設定されていますトップレベル...どのように私はこれを修正することができますか?あなたはIDE(開発環境)からVFPの発信元を実行している、とあなたは_Screen.Visible = .Fを行う。、あなたがメインVFP画面を隠している、とした場合

お時間をありがとうと助け:)

+0

私は完璧な解決策を見つけたフォームの「UNLOAD」イベントに次の行を追加します「cmdExit」と呼ばれる

それについてはここ - > [http://reydacoco.blogspot.com/2012/03/terminate-executable-application-in.html](http://reydacoco.blogspot.com/2012/03/terminate-executable-application -in.html) –

答えて

2

システムはそれに直接戻ってきているかもしれませんし、あなたがそれを見ることができないので、正式に終了することはできません。

MAIN.PRGには、コールスタック内に表示される別の「機能」として、下に下を記入してください。

function CloseMyApp 
    */ For now, just to "ignore" any errors of any dangling objects trying to get released 
    */ and otherwise might be HIDING an error upon shutdown. 
    on error * 

    */ NOW, clear the event handler and close everything else down 
    clear events 
    close database all 
    close tables 
    on shutdown 

    quit 
endfunc 

次に、あなたのスタートで、今...この「機能」を呼び出すために、あなたのオンSHUTDOWNを変更する、あなただけの明確なイベントの単一のコマンドを発行しています。このようにして、読み取りイベントをクリアするだけでなく、終了前に一連のクリーンアップ操作を完了できます。

ON SHUTDOWN Do CloseMyApp in Main.PRG 
+0

私は以下の変更を加えました:私のmain.prgは次のようになりました: 'ON SHUTDOWN Main.PRGのCloseMyAppを_screen .visible = .fで実行します。最後にDO FORMロケーション\ form1 READ EVENTS関数CloseMyApp on error * clear eventsデータベースを閉じるcloseすべての閉鎖テーブルquit endfunc'とexitボタン 'click'イベントコード: 'Main.PRGでCloseMyAppを実行する'残念ながらまだ残っていませんタスクマネージャ。 – Katie

+0

@katie、関数の最初の行で、閉じるため_screen.visible = .tを追加してみてください。閉じる前に画面を表示し、どのようなエラーが戻ってきているのかを確認できます。 – DRapp

+0

@ DRapp- screen.visibleコードを追加しました。エラーメッセージが表示されず、「終了しました」という画面以外の違いが表示されます。私はまだタスクマネージャで実行されているlocations.exeが表示されます。 – Katie

0

フォーム(ボタン)のEXITボタンをクリックすると、フォームが閉じてアプリケーションが正しく閉じますか?それがない場合は、ボタンを仮定すると、その後

THISFORM.cmdExit.clickは()

関連する問題