on 06-22-2009 3:30 AM
お世話になります。
下記質問に関して、ご教授お願い致します。
◆環境◆
Windows XP SP3
Windows Vista SP1
Visual Stdio 2005
Crystal Reports XI Release 2
◆現象◆
CrystalReportsへ印刷・印刷プレビューを行おうとすると、
Vista端末で「動作を停止しました」エラーが発生します。
しかし、下記のようにXP端末では正常に動作しており、
Vista端末ではエラーが発生する状況です。
・A端末(XP環境)からビルドを行う・・・C端末(Vista環境)でも正常に動作する。
・B端末(XP環境)からビルドを行う・・・C端末(Vista環境)から実行すると、エラーが発生する。
・C端末(Vista環境)からビルドを行う・・・C端末(Vista環境)から実行すると、エラーが発生する。
また、C端末からデバッグで実行すると、正常に動作します。
(EXEから実行すると、エラーが発生致します)
そして、エラー発生箇所なのですが
以下ソース -
try{
// プレビューフォームを作成する
frmPreview frm = new frmPreview();
MessageBox.Show("Proc_1"); //u2190は正常
// レポートオブジェクトを作成する
rptTestReport rpt = new rptTestReport();
MessageBox.Show("Proc_2"); //u2190白くなる
// プリンタ名をセットする
rpt.PrintOptions.PrinterName = "プリンタ名";
・
・
・
// プレビューフォームをダイアログ表示
frm.ShowDialog(this);
}catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
-
メッセージボックス「Proc_1」は問題無く表示されるのですが、
「Proc_2」を表示しようとする時に、動作停止エラーが表示されます。
また、エラーが表示されても印刷プレビューダイアログは問題なく表示されます。
(try~catchでエラーがキャッチされず、そのまま実行される状態です)
現在はB端末からEXEを作成すると、エラーが発生する状態ですが、
数ヶ月前までは、作成したEXEは何の問題もありませんでした。
(数ヶ月ほど空けて開発を行った為、上記現象が発生致しました)
また、過去に作成したこのEXEをC端末から起動すると、
エラーは発生しない状態です。
◆試した事◆
・A端末にはアップデートしておらず、B端末に更新されているSP等を調査し削除する。
u2192変化なし。
・B端末のアップデートを数ヶ月分削除する。
u2192変化なし。
・C端末以外のVistaでも動作確認 u2192同現象
開発環境の問題だとは思うのですが
何が悪さをしているのか不明の状態です。
何か試してみる手段等や、原因が分かる方がいらっしゃいましたら
ご回答よろしくお願い致します。
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
そうですか。。。
お役に立てなくて申し訳ありません。
ところで、デバッグ実行での動作は「違い得る」と言えます。デバッガ実行ではメモリ配置が違いますし。
しかし、その場合ocxの参照が犯人である場合が多いです。
そのvistaの端末にも、既にruntimeが入っていることと思いますが、これと参照dllが違う可能性に
ついて考えてみるのはいかがでしょうか。
regsvr32を利用してocxの場所を明示的に示すのも切り分けには有効と思います。
[このページが|http://homepage1.nifty.com/MADIA/vb/vb_bbs/200305/200305_03050011.html]参考になるかもしれません。
力及ばず申し訳ありません。
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.