解析ソフトで計算部分の構築方法について教えてください。 – プログラミング – Home

解析ソフトで計算部分の構築方法について...
 
通知
すべてクリア

[解決済] 解析ソフトで計算部分の構築方法について教えてください。


たっく
 たっく
(@たっく)
ゲスト
結合: 23年前
投稿: 12
Topic starter  

はじめまして、たっくです。
はじめて書き込みさせていただきます、いたらぬ点はお許しください。
開発環境はVC++6.0でダイヤログベースのアプリケーションです。

概要は解析ソフトなんですが、解析部分はフォートランで完成いていましたので
それをVC++に組み込んで計算をまわしています。

ダイヤログ自体はファイルのディレクトリとファイル名の取得だけで、
あるボタンを押すとディレクトリとファイル名をフォートランに渡して
計算を実行し、結果ファイルを作成します。

ここで、データをフォートランに渡して計算(約1分程度)しているとき
ダイヤログが固まってしまいます。(計算が終了すると復活します)

この現象を解決したいのですがどのようにすれば良いかわかりません。
アドバイスお願いします。(VC++は始めて6ヶ月ぐらいのほとんど初心者です。)

void CADlg::OnButton()
{
// TODO: この位置にコントロール通知ハンドラ用のコードを追加してください
     //フォートラン実行
char cdir[256], cdat[256];
int i,ircode;
CString temp=m_DirPath+'\0';
int len_cdir=temp.GetLength();
for (i=0;i<len_cdir;i++) cdir[i]=temp[i];
temp=m_FileName2+'\0';
int len_cdat=temp.GetLength();
for (i=0;i<len_cdat;i++) cdat[i]=temp[i];

JNFEM2A(cdir,len_cdir,cdat,len_cdat,&len_cdir,&len_cdat,
gl_ww,&gl_lenww,&m_StepNum2,&m_StepNum,&ircode);
     //ここまで
}


引用未解決
トピックタグ
sara
 sara
(@sara)
ゲスト
結合: 23年前
投稿: 99
 

OnButton()関数の中で直接重い処理をすると、終了するまで他のメッセージを処理してくれま
せん。
こういう場合は、スレッドを使うのが常道です。
スレッドについて勉強してみてください。
この掲示板の 「AfxBeginThreadの使い方」という質問の回答が役に立つと思います。


返信引用
たっく
 たっく
(@たっく)
ゲスト
結合: 23年前
投稿: 12
Topic starter  

早速ありがとうございます!!
「AfxBeginThreadの使い方」を勉強してみます。
解決したらご報告します。


返信引用
たっく
 たっく
(@たっく)
ゲスト
結合: 23年前
投稿: 12
Topic starter  

スレッドをつかって解決できました、ありがとうございます!!


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました