仕事上で苦労したことの覚え書き。
きっとまた同じ失敗をするからw
その時にこれを見て2度目は簡単に解決出来るように!!
時給850円プロジェクト
プロフィール
Author:chang
FC2ブログへようこそ!
FC2カウンター
FC2カウンター
現在の閲覧者数:
最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
ブロとも申請フォーム
ブログ内検索
RSSフィード
いやぁ、久々だねー
いつの間にか広告まで出てるよ!;`;:゙;`(;゚;ж;゚; )
どんだけさぼったっちゅー話やねん!!;`;:゙;`(;゚;ж;゚; )
てことで、久々にかきまーすw
前にも何度かvistaの悪口を書きましたが、とにかくあのOSは使えヾ(`◇')ナイッ!
この前、windows 2008 serverをちょっと触りました。
これがまた、とても良い出来でね、今流行の仮想化なんかも容易ですよ!!
てことで、昔のvb6アプリを仮想化してみる・・・。
動かヾ(`◇')ナイッ!
いろいろ調査の結果、どうもvista系の悪意(爆)のセキュリティ関連の仕業らしい・・・。
どうすりゃええねん!!(><)
んで、何気なく、ショートカットのプロパティを見ると、互換性ってタブがあったから、
それをxp互換にしてみる・・・。
動かす・・・
動くやんけーーーー(><)
vista系のセキュリティ、どんだけ使えないねん(><)
あほかーーー(><)
今後は全てのソフトをxp互換で動かします・・・;`;:゙;`(;゚;ж;゚; )
いつの間にか広告まで出てるよ!;`;:゙;`(;゚;ж;゚; )
どんだけさぼったっちゅー話やねん!!;`;:゙;`(;゚;ж;゚; )
てことで、久々にかきまーすw
前にも何度かvistaの悪口を書きましたが、とにかくあのOSは使えヾ(`◇')ナイッ!
この前、windows 2008 serverをちょっと触りました。
これがまた、とても良い出来でね、今流行の仮想化なんかも容易ですよ!!
てことで、昔のvb6アプリを仮想化してみる・・・。
動かヾ(`◇')ナイッ!
いろいろ調査の結果、どうもvista系の悪意(爆)のセキュリティ関連の仕業らしい・・・。
どうすりゃええねん!!(><)
んで、何気なく、ショートカットのプロパティを見ると、互換性ってタブがあったから、
それをxp互換にしてみる・・・。
動かす・・・
動くやんけーーーー(><)
vista系のセキュリティ、どんだけ使えないねん(><)
あほかーーー(><)
今後は全てのソフトをxp互換で動かします・・・;`;:゙;`(;゚;ж;゚; )
vb6では、予想外のエラーは「On Error」を使用してキャッチしていました。
これが、.netになると、javaやcと同じく、「try catch」を使用するようにります。
個人的には、On Errorよりtry catchの方が遥かに直感的で好きです。
ただね、一つだけ違和感が・・・。
それはね、try句とcatch句ではスコープが違うっぽいんだよ・・・。
いや、当然と言われればそうなんだけど、ちょっと違和感ない?俺だけ?www
例えばね、Oracleのtransaction処理をしたとするでしょ?
try句でこう書きました。
Try
・・・・・
・・・・・
Dim oraTran As OracleTransaction = xxx.BeginTransaction
んで、何かのエラーが発生して、catch句に制御が飛ぶでしょ?
んで、その中で当然RollBackするじゃん・・・。
oraTran.RollBack
みたいにね。
でもね、宣言してるのはtry句の中だからね、
「oraTranは宣言されていません」
みたいな感じのエラーが出るわけよ・・・。
なんか、納得いかなくない?www
ステップ実行しててもね、エラーの詳細を調べるために、
catch句に制御が飛んでも見たい変数はtryの外で宣言しないとダメって事にならない?
これ、おかしくない・・・???
普通なのかなぁ・・・?
何か納得がいかないんですが・・・?;`;:゙;`(;゚;ж;゚; )
てか、それとも、俺のやり方が悪いだけなのかな???
わかりましぇーーーん;`;:゙;`(;゚;ж;゚; )
でも、変数宣言をtryの外でやるのが常識っていうなら、問題ないのか・・・。
そう言うことなのかな???
これが、.netになると、javaやcと同じく、「try catch」を使用するようにります。
個人的には、On Errorよりtry catchの方が遥かに直感的で好きです。
ただね、一つだけ違和感が・・・。
それはね、try句とcatch句ではスコープが違うっぽいんだよ・・・。
いや、当然と言われればそうなんだけど、ちょっと違和感ない?俺だけ?www
例えばね、Oracleのtransaction処理をしたとするでしょ?
try句でこう書きました。
Try
・・・・・
・・・・・
Dim oraTran As OracleTransaction = xxx.BeginTransaction
んで、何かのエラーが発生して、catch句に制御が飛ぶでしょ?
んで、その中で当然RollBackするじゃん・・・。
oraTran.RollBack
みたいにね。
でもね、宣言してるのはtry句の中だからね、
「oraTranは宣言されていません」
みたいな感じのエラーが出るわけよ・・・。
なんか、納得いかなくない?www
ステップ実行しててもね、エラーの詳細を調べるために、
catch句に制御が飛んでも見たい変数はtryの外で宣言しないとダメって事にならない?
これ、おかしくない・・・???
普通なのかなぁ・・・?
何か納得がいかないんですが・・・?;`;:゙;`(;゚;ж;゚; )
てか、それとも、俺のやり方が悪いだけなのかな???
わかりましぇーーーん;`;:゙;`(;゚;ж;゚; )
でも、変数宣言をtryの外でやるのが常識っていうなら、問題ないのか・・・。
そう言うことなのかな???
vb2005では、過去のvbシリーズと同様にコメントは行単位でしか出来ません。
シングルコーテーション以降は全てコメント扱いになります。
'こめんとだよー。うぃーーー。おっぱっぴー
これは誰でも知ってますよね?
ところで、VCになると、コメントの方法は2種類あります(確かw)
VB同様に行単位の場合はスラッシュを二つ重ねます。
//こめんとだよー。うぃーーー。おっぱっぴー
これと、もう一つは行単位ではなく、行をまたいだコメントも出来ます。
/* この間は行をまたいでもコメント扱いだよー
いえーい、こめんとつづいてるよー
うぃーーー
おっぱっぴー */
えーっと、最近、C言語は使ってないので間違ってるかもしれませんw
もしかしたら、javaとごっちゃになってるかもしれませんが、そこはドンマイ!;`;:゙;`(;゚;ж;゚; )
てことで、この行をまたいだコメントがVBにも欲しい!
だってね、例えば、50行分を一気にコメントアウトしたい時ってあるでしょ?
その場合、今だと、一行一行にシングルコーテーション付けるしかないしね・・・
と思ってたらね、夢のようなボタンがありました!!;`;:゙;`(;゚;ж;゚; )

ツールバーに上の図のようなボタンがあり、実はこれがコメントボタン!!
コメントアウトしたい行を選んでボタンを押すとあら不思議!
全てコメントですよ!!;`;:゙;`(;゚;ж;゚; )
素晴らしい!!
いやー、これで、俺のコメントライフも安泰です(大謎www)
シングルコーテーション以降は全てコメント扱いになります。
'こめんとだよー。うぃーーー。おっぱっぴー
これは誰でも知ってますよね?
ところで、VCになると、コメントの方法は2種類あります(確かw)
VB同様に行単位の場合はスラッシュを二つ重ねます。
//こめんとだよー。うぃーーー。おっぱっぴー
これと、もう一つは行単位ではなく、行をまたいだコメントも出来ます。
/* この間は行をまたいでもコメント扱いだよー
いえーい、こめんとつづいてるよー
うぃーーー
おっぱっぴー */
えーっと、最近、C言語は使ってないので間違ってるかもしれませんw
もしかしたら、javaとごっちゃになってるかもしれませんが、そこはドンマイ!;`;:゙;`(;゚;ж;゚; )
てことで、この行をまたいだコメントがVBにも欲しい!
だってね、例えば、50行分を一気にコメントアウトしたい時ってあるでしょ?
その場合、今だと、一行一行にシングルコーテーション付けるしかないしね・・・
と思ってたらね、夢のようなボタンがありました!!;`;:゙;`(;゚;ж;゚; )

ツールバーに上の図のようなボタンがあり、実はこれがコメントボタン!!
コメントアウトしたい行を選んでボタンを押すとあら不思議!
全てコメントですよ!!;`;:゙;`(;゚;ж;゚; )
素晴らしい!!
いやー、これで、俺のコメントライフも安泰です(大謎www)
業務連絡!業務連絡!にったろーへ業務連絡!;`;:゙;`(;゚;ж;゚; )
早々に自宅からインターネット出来るように所望!(><)
真・女神転生ONLINEで冒険に出るぞ!!;`;:゙;`(;゚;ж;゚; )
てことで、業務連絡はさておき、ASP.NETですw
ButtonにPostBackUrlと言うプロパティがあります。
これはね、ページ間ポストバックを容易に実現できる素晴らしい機能です。
でもね、これがね、使えヾ(`◇')ナイッ!
PostBackUrlを設定してあるボタンを押します。
問題なく別窓が開きます。
その別窓を閉じます。
呼び出し元の画面に戻ります。
ここで、PostBackUrlを設定してない全然関係ないボタンとかを押します。
するとね・・・、
またさっきの別窓開くやんけーーー(><)
これはね、どうもJavaScriptでFormのTargetを変更し、submitを実行しているかららしい・・・。
これの回避方法ですか・・・?
えっとね、これかな・・・?
「PostBackUrlを使用しヾ(`◇')ナイッ!」;`;:゙;`(;゚;ж;゚; )
さぁってと、今からPostBackUrlを消して、プログラム書き直そうかなwww
早々に自宅からインターネット出来るように所望!(><)
真・女神転生ONLINEで冒険に出るぞ!!;`;:゙;`(;゚;ж;゚; )
てことで、業務連絡はさておき、ASP.NETですw
ButtonにPostBackUrlと言うプロパティがあります。
これはね、ページ間ポストバックを容易に実現できる素晴らしい機能です。
でもね、これがね、使えヾ(`◇')ナイッ!
PostBackUrlを設定してあるボタンを押します。
問題なく別窓が開きます。
その別窓を閉じます。
呼び出し元の画面に戻ります。
ここで、PostBackUrlを設定してない全然関係ないボタンとかを押します。
するとね・・・、
またさっきの別窓開くやんけーーー(><)
これはね、どうもJavaScriptでFormのTargetを変更し、submitを実行しているかららしい・・・。
これの回避方法ですか・・・?
えっとね、これかな・・・?
「PostBackUrlを使用しヾ(`◇')ナイッ!」;`;:゙;`(;゚;ж;゚; )
さぁってと、今からPostBackUrlを消して、プログラム書き直そうかなwww
今の今まで、めっさ大きな勘違いをしていましたwww
MouseDownイベントやDragDropイベントでマウスの座標を取得したかったんだけどね、
それぞれのイベントの引数から取得できます。
MouseDonwイベントなら引数のSystem.Windows.Forms.MouseEventArgs、
DragDropイベントも同様に引数のSystem.Windows.Forms.DragEventArgs
両者ともイベント内では下のように座標を取得できます。
X座標:e.X
Y座標:e.Y
eの型は上述のように違うが、同じ方法で取得できるので中身は全く同じと思ってました。
そのせいで、同じ組み方で座標を使用してたんだけどね、どうしてもうまくいかない・・・。
片方がうまく行けば、片方がダメ。逆の方がうまくいけばもう片方がダメ・・・。
何故・・・?(><)
んで、ふと気付きました・・・。
あれ・・・?もしかして、MouseEventArgsとDragEventArgsのXとYの中身って違うんじゃ・・・?
んで、調べてみると違いました;`;:゙;`(;゚;ж;゚; )
MouseEventArgsのX座標:マウス イベント生成時のマウスの x 座標を取得します。
DragEventArgsのX座標:マウス ポインタの x 座標 (画面座標) を取得します。
なるほど・・・。
DragEventArgsの場合は、画面の座標なんだね・・・。
でも、よく考えれば当たり前か・・・。
ドラッグドロップは他のアプリを対象にやる場合もあるしね;`;:゙;`(;゚;ж;゚; )
これを理解できれば、あとは簡単です。
それぞれの座標を同じになるようにコーディングしてやればいいだけ!
いやぁ、こんなくだらない事で時間使っちゃったよ・・・;`;:゙;`(;゚;ж;゚; )
同じような使い方だからと言って、思い込みで判断しちゃいけないって好例ですねw
猛省;`;:゙;`(;゚;ж;゚; )
MouseDownイベントやDragDropイベントでマウスの座標を取得したかったんだけどね、
それぞれのイベントの引数から取得できます。
MouseDonwイベントなら引数のSystem.Windows.Forms.MouseEventArgs、
DragDropイベントも同様に引数のSystem.Windows.Forms.DragEventArgs
両者ともイベント内では下のように座標を取得できます。
X座標:e.X
Y座標:e.Y
eの型は上述のように違うが、同じ方法で取得できるので中身は全く同じと思ってました。
そのせいで、同じ組み方で座標を使用してたんだけどね、どうしてもうまくいかない・・・。
片方がうまく行けば、片方がダメ。逆の方がうまくいけばもう片方がダメ・・・。
何故・・・?(><)
んで、ふと気付きました・・・。
あれ・・・?もしかして、MouseEventArgsとDragEventArgsのXとYの中身って違うんじゃ・・・?
んで、調べてみると違いました;`;:゙;`(;゚;ж;゚; )
MouseEventArgsのX座標:マウス イベント生成時のマウスの x 座標を取得します。
DragEventArgsのX座標:マウス ポインタの x 座標 (画面座標) を取得します。
なるほど・・・。
DragEventArgsの場合は、画面の座標なんだね・・・。
でも、よく考えれば当たり前か・・・。
ドラッグドロップは他のアプリを対象にやる場合もあるしね;`;:゙;`(;゚;ж;゚; )
これを理解できれば、あとは簡単です。
それぞれの座標を同じになるようにコーディングしてやればいいだけ!
いやぁ、こんなくだらない事で時間使っちゃったよ・・・;`;:゙;`(;゚;ж;゚; )
同じような使い方だからと言って、思い込みで判断しちゃいけないって好例ですねw
猛省;`;:゙;`(;゚;ж;゚; )


