掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
JPEGで保存する(前回の続きです) (ID:123592)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>連続して早く線を引くと、途中から、2本の線が描画されて保存されたりします。 >これを回避するために、DoEventsと入れてたのですが、これではだめでした。 ここは DoEvents すると寧ろ不具合となる場所のように思いますが、どういう 考えで入れていたのでしょうか?。…適当に入れてたのなら話になりません。 >途中から という事は処理がぶつかって不整合が起こっているようですが、通常の処理では Status = SavePictureJpeg(Picture1.Image, MyFile2, 70) の戻り値が得られるまで次の処理は行われないのでは?…だとすればマルチスレッド を使っているという事でしょうか?…説明されてないので分かりませんが。 マルチスレッドであれば処理の不整合への対策は必須で、それはプログラムに 応じて考えるものですから、マニュアル的な回答はありません。強いて言うなら 『不整合が起こらないようにして下さい』です。 1つ参考になるかもしれない概念として [キュー (queue)] http://www.atmarkit.co.jp/icd/root/43/67542643.html 変数などに処理を一時格納しておいて、順に取り出すような仕組みを 考えられれば進展するかもしれません。ただし、無限に時間のズレが発生 し続ける処理は良くないでしょう。どこかで整合を取るような結果になる と思います。…となると >できれば、一つの処理が終わるまで操作(MouseUpイベント)不可にするという処理は避けたいのですが、 これも1つの方法。実力と相談する事も必要です。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.