- PR -

WEBフォームからプロセスを起動

1
投稿者投稿内容
まきまき
会議室デビュー日: 2008/12/11
投稿数: 7
投稿日時: 2008-12-16 11:44
こんにちは
WEBフォームからプロセスを起動するプログラムを作成中です。

現在 Page_Load イベント発生時に
プロセス起動のコードを記述していますが、
WEBフォームが表示される前に起動→プロセス終了後に
フォーム表示となってしまいます。

どのようにすれば フォーム表示→プロセス起動 の順になるのでしょうか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-12-16 16:29
引用:

まきまきさんの書き込み (2008-12-16 11:44) より:

現在 Page_Load イベント発生時にプロセス起動のコードを記述していますが、
WEBフォームが表示される前に起動→プロセス終了後にフォーム表示となってしまいます。


何のために何のプロセスを起動しているのでしょうか? どのようなコードを書いていますか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
まきまき
会議室デビュー日: 2008/12/11
投稿数: 7
投稿日時: 2008-12-16 17:10
じゃんぬねっと様
お世話になります。
概要:WEBフォームから計算プロセスを起動し、結果をグラフ表示するプログラム作成
(計算処理は別言語なのでプロセス起動となります。)

下記のような順序でプログラミングをしたいのです。
 @WEBフォーム上のボタンをクリック
 A”計算中です”のメッセージフォーム表示
 B計算プロセスを起動
 C計算結果のグラフを表示
現在は "notepad.exe" を起動してテスト中です。


以下 コードを貼り付けます。----------------------------
Partial Class vb_1205_000
'計算処理実行
Protected Sub Button2_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Button2.Click
Response.Redirect("vb_1205-003.aspx")
End Sub
end Class

Partial Class vb_1205_003
Protected Sub Page_Load(ByVal sender As Object, _
     ByVal e As System.EventArgs) Handles Me.Load
Dim proc As New Process()
Dim exe_path As String
Dim msec As Integer

Label1.Text = "計算中です。しばらくお待ちください。"

msec = 10000
exe_path = "notepad.exe"  'TEST用にノートバッドを起動

proc.StartInfo.FileName = exe_path
proc.Start()
Do
If (proc.WaitForExit(msec) = True) Then Exit Do
Loop

End Sub
End Class

-----------------------------------------------------
実行すると notepad が表示されますが、画面が切り替わりません。
まきまき
会議室デビュー日: 2008/12/11
投稿数: 7
投稿日時: 2008-12-22 20:07
プロセスを起動するタイミングを変えることで解決しました。

変更箇所
page_load→ボタンをクリックした時
1

スキルアップ/キャリアアップ(JOB@IT)