• ベストアンサー

C++Builderで保存時スレッドを扱いたい

C++Builderでスレッドを使いたいのですが、ヘルプを参考にしたのですがよく解りません。 データベースへデータファイルを保存する時に使いたいのですが、どなたかアドバイスをいただけませんでしょうか? また、参考になるHP等をご存知ありませんでしょうか? アバウトな質問ですみませんが、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mitoneko
  • ベストアンサー率58% (469/798)
回答No.1

 質問がアバウトなので、回答もアバウトになってしまいますがご容赦を。  スレッドの作成の最初は、まずTThreadからの派生クラスを作成することから始まります。このスレッドのスケルトンは、[ファイル|新規作成|その他]のところに、スレッドオブジェクトというのがありますから、それを作成してください。(この名前をTMyThreadとしておきます。ヘルプでもそうなってますね。実際には、わかりやすい名前を自由に付けてください。)  次に、派生したクラスのスケルトンを見ると、Excecuteという名前のメソッドが定義されているはずです。多分、「スレッドのコードをここに挿入」と書いてあるのではないでしょうか。  そこに、スレッドとして実行したいプログラムを書いてください。  メインスレッドのオブジェクトをグローバル変数経由で操作するときは、同期に十分注意してくださいね。  最後に、このスレッドを実行したいタイミング(今回は、保存する時でしょうか。)に、 TMyThread *SecondThread = new TMyThread(false);  と書いてやれば、新しいスレッドが実行されます。  この新しいスレッドは、Executeメソッドの実行が終了すると、そこで終了します。(無限ループにしてしまえば、バックグラウンドで常時処理を行うスレッドを作成することも可能です。)  この基本的なパターンを小さいプログラムを書いて実行してみてください。  それから、ヘルプのマルチスレッドアプリケーションの作成の章を読むことをおすすめします。  まず、この手順でスレッドが実行できることが判らないと、ヘルプも確かにちょっと読みにくい面はあるとおもいます。

Caya
質問者

お礼

回答ありがとうございます。 まさに、知りたい!と思っていたところを回答いただき、大変助かりました。 mitonekoさんの回答を参考にし、改めてヘルプを読み直し、思っていた処理を行えました。 また、常時処理も使ってみたいと思っていたので、教えていただけて良かったです。

関連するQ&A