こんにちは。
盆休みが終わり、本日より通常業務となっております。
公式には13日から16日までと長めにいただいた盆休みでしたが、実際は15、16日の二日のみ、お休みさせていただきました。
最近は土日も忙しくすることが多いので、二日間の休みは正直、落ち着かなかったですね。
休み明けの仕事を考えたりと。
今朝から早速プログラムを作成しているわけですが・・・
近々正式にWindows8がデビューするとあって、さすがにXP環境で頑張られた方々でも、少々焦り気味では?
弊社のユーザー様も順次、バージョンアップをさせていただいてます。
現在仕掛の案件もそうした案件です。
旧VisualBasicで作成したシステムをVB.NETにやき直す。
ついでに機能改善と強化です。
旧VBとVB.NETは似て非なるものというのは、開発者の方はもちろんご存じと思います。
基本的にはそっくりさんを作り直しです。
ではVB.NETの初期物と2005、最新の2010ではどうか?
これまた違います。
全く違うわけではないですが、言語仕様の細かいところが結構違います。
今朝からはまっていた一件はその辺りに関係したようですので、ちょっとご紹介まで。
System.Windows.Forms.PrintDialog
上記はプリンターへ印字する際に表示するプリントダイアログの定義です。
通常ですと、ダイアログ表示させて、レスポンスを判断し、印刷もしくはキャンセル行為を行うのですが。
Win7 32bitだと問題ないのに、64bitだとスルーしてレスポンスがキャンセル扱いになってしまいます。
私はたまたまVB.NET2003で作成したソースを流用していて、このような現象に出くわしました。
しばらくあれこれやってたのですが、ふと64bitのVB2010環境でプリントダイアログを作成してみると・・・
Me.PrintDialog1.UseEXDialog = True
上記の一文が入っていました。
もしやと思いさらに調べると、やはり同じようにはまった方がネット上で紹介されていました。
64bit環境だと、なぜか上記の一文が必要だそうです。
たぶん、バグでしょうね・・・
最近はWin7で64bitも増えてますから、念のためにテストしていて見つけたバグでした。
以上、他愛もない話ですが、お役にたてば幸いです。