2013年08月19日

画像ファイルの上書き

PictureBoxに画像を表示して、そのあとその画像を変更して、ファイルの上書きなど行おうとすると、ファイルがロックされたままになってエラーになってしまうことがあります。
このことで、いつも同じところでつまづくので、メモです。


PictureBox コントロールに画像を表示するには、Image クラスを使用します。PictureBox コントロールには、Image プロパティがありますので、これを利用します。

最も簡単な方法は、System.Drawing.Image クラスの FromFile メソッドを使用する方法です。ただし、これだとプログラムが終了するまで、ファイルがロックされたままになります。

FromFile メソッドではなく、FromStream メソッドを使用しましょう。


ということでした。
windows7でも8でも、64bit版でプリンタダイアログを表示させたいときには
Me.PrintDialog1.UseEXDialog = True
という1文が必要らしい。
明日、お客様のところでテストしてもらいますが、多分これで大丈夫だと思います。

windowsのバグだそうですけど、こういうことも知っとくとソフトのバグって言われなくて済んで、しかも、修正代金をいただけそうですね。
2013年05月31日

64bit版のコンパイル

今日は、お客様のところのパソコンへのソフトのインストールと設定でハマってしまって、結局、お客さんのパソコンを持って帰ってきました。
結局は、どうということも無く、ビルドの構成マネージャでx86を指定してから、コンパイルしてやると解決しました。
ただ、それまでに、エラーメッセージがうまく出てくれないので、64bit環境向けにコンパイルするときに、専用のdllを用意しなければ行けないのかと思って、予想以上にハマってしまいました。
今日の現場は居酒屋さんで、夕方5時から満席で、凄くにぎやかになったので、冷静に考えられなくなってしまった気がします。後30分だけ冷静に考えられたら、持って帰ってこずにすみました。また明日、京都まで納品ですww
同じ失敗を繰り返さないために、メモメモです。
久しぶりに、自動カナ入力を実装しようとしたら、結構悩んだので、メモしときます。
http://www.atmarkit.co.jp/fdotnet/dotnettips/875imeyomi/imeyomi.html
で説明されているとおりなのですが。。

1 ImeComposition.vb を追加する。 (過去参照プログラム→電話交換機データ変換ソフト)
2 利用したいフォームのコードで
   private yomiConv As ImeComposition.ImeYomiConversion
  を宣言しておく

3 フォームロードなどで
   yomiConv = new ImeComposition.ImeYomiConversion( TextBox1, TextBox2)
  のように、返還元と返還先のテキストボックスを指定する

4 あとは、次のようなイベントに対する処理を追加する
Private Sub TextBox1_Enter( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.Enter
yomiConv.Enabled = true
End Sub

Private Sub TextBox1_Leave( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.Leave
yomiConv.Enabled = false
End Sub

実際の処理内容はImeComposition.vbの中に全て記載されているので、勉強するにはこれをしっかり読む必要がありますが、今は時間がないのでパス
プロフィール
けん
カテゴリ
VB関係 (4)
iOS関係 (7)
SQL関係 (1)
< 2025年05月 >
S M T W T F S
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
QRコード
QRCODE
※カテゴリー別のRSSです
アクセスカウンタ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 0人
人気の楽園ブログ
楽園ブログ