VBプログラマ質問スレ(Ver.6.0 まで) part64
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2014/02/22(土) 20:50:42.17質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。
VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。
○ 質問者の心得
一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。
二.VBScript、インストーラーなどはこのスレでOK。
三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。
四.荒らしは相手しない。
○ 回答者の心得
一.答えられない質問は無駄に罵倒せずスルー。無理するな。
二.代用法を強制しない。
三.回答する上で必須ではない情報をむやみに聞き返さない。
四.荒らしは相手しない。
五.VB情報募集中。
六.回答は質問者が理解できるよう具体的に。
MSDN Online Japan ホーム
http://www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6
http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
http://www.google.co.jp/
前スレ VBプログラマ質問スレ(Ver.6.0 まで) part63
http://toro.2ch.net/test/read.cgi/tech/1378020423/
※「まず自分で調べる」クセを身につけよう。
0002デフォルトの名無しさん
2014/02/22(土) 21:08:49.500003デフォルトの名無しさん
2014/02/23(日) 05:32:58.07おつ
0004デフォルトの名無しさん
2014/02/23(日) 09:51:32.190005デフォルトの名無しさん
2014/02/23(日) 15:14:32.420006デフォルトの名無しさん
2014/02/23(日) 15:32:26.500007デフォルトの名無しさん
2014/02/23(日) 15:42:12.160008デフォルトの名無しさん
2014/02/23(日) 16:22:46.020009デフォルトの名無しさん
2014/02/23(日) 17:46:11.36自宅勤務希望です
0010デフォルトの名無しさん
2014/02/24(月) 16:06:39.030011デフォルトの名無しさん
2014/02/25(火) 16:05:29.36とするのだけどChangeイベントプロシージャは実行させたくないという場合があるよね
このスレが無いときにVBAスレで聞いたら
Text1.Enabled = False
Text1 = "小泉純一郎は北朝鮮人"
Text1.Enabled = True
として、Changeイベントプロシージャ先頭でEnabled=Falseなら抜けたらいい
と聞いて、グローバル変数を用意するより賢いなと思ったんだけど
これが普通?
0012デフォルトの名無しさん
2014/02/25(火) 16:07:57.420013デフォルトの名無しさん
2014/02/25(火) 16:43:04.55たぶん大丈夫なんだろうけど、Text1にフォーカスがあった場合は
Enabled=Falseでちがうとこにフォーカスが移動してしまうぐらいかな。
0015デフォルトの名無しさん
2014/02/25(火) 22:16:18.620016デフォルトの名無しさん
2014/02/26(水) 02:52:35.74なるほどそうゆうやり方もありかとは思った。
が、自分の場合オプションボタンやコンボボックスをまとめて初期設定する
こともあるので共通グローバル変数で制御しています。
0017デフォルトの名無しさん
2014/02/26(水) 07:04:16.930018デフォルトの名無しさん
2014/02/26(水) 07:46:15.7016です。
それもいいと思います。
機会があったら使わせていただくかもしれません。
(さすがに新規はないか??)
でもこういうケースって最初のやり方をずっと継続してしまいますよねー。
で、11のように出してもらうと「おっ!」と思ったりする。
とっくにサポートが切れた言語ですけどいろいろあって面白いとゆうか..
マイナーな話題に付き合っていただいてありがとうございます。
0019デフォルトの名無しさん
2014/02/26(水) 09:27:46.11そういうケースだと、いちいちコントロール毎に設定するのは煩雑だわな
0020デフォルトの名無しさん
2014/02/26(水) 10:34:25.78すっきりするかも。
0021デフォルトの名無しさん
2014/02/28(金) 12:26:44.420022デフォルトの名無しさん
2014/03/03(月) 21:26:23.92日米関係に関して、日本国民が批判的にならないように細工する必要がある
そのためには日本とその周辺国を適度に争わせるのが効果的だ
アメリカは朝日新聞などメディアを介して日中韓が争うように仕向けている
0023デフォルトの名無しさん
2014/03/03(月) 21:31:14.400024デフォルトの名無しさん
2014/03/04(火) 17:13:38.14しかし、keydownでは、Enterを拾ってくれず、途方に暮れています。
他のキーは拾ってくれるのですが…
何かご存知でしたら、教えて下さい。よろしくお願いします。
0025デフォルトの名無しさん
2014/03/04(火) 20:53:21.570026デフォルトの名無しさん
2014/03/04(火) 21:02:50.51KeyPress が呼ばれると同時に KeyAscii に 13 がかえってくるからそれで判定すれ。
0027デフォルトの名無しさん
2014/03/04(火) 21:05:07.80002824
2014/03/04(火) 22:02:00.05はい。UserControl内。
でも解決したっぽいです。
担当者いわく「親クラスのイベントにしたら動いた〜!」と言ってます。
多分、自己解決です。ありがとうございました。
0029デフォルトの名無しさん
2014/03/06(木) 04:29:56.21日本人は怖くて逃げ惑った
東京中心部に集まるように爆弾を落とす
集まったところで今度は焼夷弾を落とす
日本の家は木と紙でできてるから良く燃える
東京の人は虫けらのように焼かれて死んだ
明らかに工場ではなく民間人を対象にしたゲームのような作戦
この作戦を指揮した毛唐に勲章を与えたのが日本人に成りすました小泉という北朝鮮人だった
今の自称江戸っ子の多くが朝鮮人
浅草のお寺の息子というあの作家も朝鮮人
0030デフォルトの名無しさん
2014/03/10(月) 18:00:08.58VB6が動かないから新しいWindowsは買えないという事態は避けたいものな
0031デフォルトの名無しさん
2014/03/11(火) 18:42:37.47VB6のチャートOCXはXPでセキュリティの更新すると使用できなくなる。
もちろん、XP以降のWindowsでも動作しない。
だから、自作したVBアプリが動作しなくなるので今でもXP使ってます。
0032デフォルトの名無しさん
2014/03/18(火) 00:17:46.46ID:KhBumkcVFusionCharts, Codejock, Steema, ニュートンとか使えばいいのに
0033デフォルトの名無しさん
2014/03/22(土) 00:38:49.61ID:t9yTMNWGいつのまにか終了して消えてる
ずっと動いてることもあるし不安定
どこで落ちるのかとログを吐くようにしたら
タイマーイベントの処理は完了してる
つまり何も動いてないときに、ひっそりと終了してる
ほとんど同じ作りのYoutubeをチェックするプログラムはずっと動いてるし
こういうのは分からんね
0034デフォルトの名無しさん
2014/03/22(土) 15:00:25.12ID:fFDa1fn30035デフォルトの名無しさん
2014/03/24(月) 12:37:04.15ID:CeLkTsX60036デフォルトの名無しさん
2014/03/24(月) 15:59:47.90ID:iplcONyk0037デフォルトの名無しさん
2014/03/24(月) 18:20:43.49ID:Ivezh9jRタイマーイベントの入り口と出口でログ出力してる?
0038デフォルトの名無しさん
2014/03/25(火) 12:17:27.96ID:5oElpnR8怪しいコンポーネントとかAPIじゃないの?
0039デフォルトの名無しさん
2014/03/25(火) 17:41:52.06ID:KEv/8L/6数字が大きすぎて落ちてんのかなーとかなんとなく場所の見当は付くけど面倒だからそのまんまだ
0040デフォルトの名無しさん
2014/03/29(土) 19:05:08.32ID:9/GPLcxbうn
電源入れっぱなしのPCなんだけど
>>33からもう1週間動き続けてるし取り敢えずOKす
0041デフォルトの名無しさん
2014/04/03(木) 11:34:00.74ID:yRRLaFRaエラー70が出るんだけど回避方法ありますか?
コンパイルしたEXEでは出ないのですが、SendKeysが
結構多用されててデバッグがままならないです。
004241
2014/04/03(木) 11:39:11.89ID:yRRLaFRa一番下に下げて通知しないにすれば回避できた記憶があります。
Win8でも同じ設定にしていますがダメです。
0043デフォルトの名無しさん
2014/04/03(木) 12:12:22.04ID:BS8L98jMとりあえずぐぐってみたらどうだ。
試したことないが、いくらでも出てくるだろ。
004441
2014/04/03(木) 13:26:34.89ID:yRRLaFRa当然ここに書き込む前にググってはみたんですが、なかなか
いい記事が見つからなくて・・・
自分、探し方が下手なんです。
0045デフォルトの名無しさん
2014/04/03(木) 13:55:09.03ID:AmUogy5Sフォームが表示されません。
リリースビルドするときに必要な手続きとかありましたっけ?
0046デフォルトの名無しさん
2014/04/04(金) 11:54:01.13ID:nM83ZP3Zttp://tunemicky.blogspot.jp/2012/08/windows7-vb6-vba-sendkeys-70.html
これとかどうなん?
msvbvm60.dllをOS付属のものに戻せば良いらしいよ。
vb6で作ったプログラムを他のpcで使おうとすると
OS付属のmsvbvm60.dllでは意味不明なエラーが多くて
結局vectorとかでランタイム落としてくることになるんだが・・・。
>>45
ttp://toro.2ch.net/test/read.cgi/tech/1391334405/
こちらへどうぞ。
0047デフォルトの名無しさん
2014/04/04(金) 14:55:47.84ID:GVyymcd4配列要素数0にする方法ありますか?
デバッグ実行で Erase 直後にウォッチで見たら
Nothingになっていたので
If文で Is Nothing でチェックしようとしたらエラーになります。
ReDim Results(0) では要素数は1になるし・・・・
ようは、配列単体だけで現在の要素数を0個も含めて取得したいのです。
(配列とは別に配列の要素数を覚えておく変数とセットで管理したくない)
いい方法ないでしょうか?
0048デフォルトの名無しさん
2014/04/04(金) 17:03:45.68ID:nM83ZP3ZNothingになることはないだろう。
配列はオブジェクトではないからNothingとも比較できない。
配列の要素数はUBound(Result) - LBound(Result) + 1
で取得できる。
Eraseした配列をuboundに入れればエラーになるから
エラーが発生すれば要素数0ということになる。
0049デフォルトの名無しさん
2014/04/04(金) 19:35:20.51ID:GVyymcd4あとはAPI使って、判定ぐらいかなぁ
出来れば例外発生させずにAPIも使わずに、VB6の機能
だけでやりたかったんだけど難しそうだね。
返事どうもっす。
0050デフォルトの名無しさん
2014/04/05(土) 00:22:30.89ID:iBtP3adk残念ながらない
フラグか要素数を別に持って管理するか、エラートラップして判別するしかない
俺はフラグでやることが多い
0051デフォルトの名無しさん
2014/04/05(土) 01:17:34.65ID:0CTN7KbR0052デフォルトの名無しさん
2014/04/05(土) 07:39:51.91ID:Gxm31Mf60053デフォルトの名無しさん
2014/04/05(土) 10:51:43.75ID:yq+Xb2eVそりゃあ、10年前に捨てられた言語だからな。腐敗臭、放ってるよ。
ところで、VB7はまだ?
0054デフォルトの名無しさん
2014/04/05(土) 11:50:08.70ID:Y7OVjorEhttp://nozomi.2ch.net/test/read.cgi/pcnews/1396665324/
0055デフォルトの名無しさん
2014/04/10(木) 12:15:51.18ID:HRaWKIoy俺らには関係ないよな
0056デフォルトの名無しさん
2014/04/10(木) 12:23:24.21ID:qWgB/nmw0057デフォルトの名無しさん
2014/04/10(木) 17:40:35.66ID:QXBeVdCp新osはもちろん64bit版もありとかなら
20万出すよ
0058デフォルトの名無しさん
2014/04/10(木) 21:17:26.88ID:0VE57ZaG完全互換で 64bit 対応とか、アホすぎる。
Integer が 16bit なんだぜ (w
0059デフォルトの名無しさん
2014/04/11(金) 08:19:56.13ID:OGXe5fI+.netなみに充実したmsvbvm61.dll
0060デフォルトの名無しさん
2014/04/11(金) 12:46:21.84ID:jMd5RFnz0061デフォルトの名無しさん
2014/04/15(火) 12:27:27.44ID:Mhge0Lhx0062デフォルトの名無しさん
2014/05/01(木) 15:48:49.01ID:q+xe60/p世界で初めて命令の実行に成功した日であり、BASICは誕生 から50年という
記念すべき日を迎えました。
0063デフォルトの名無しさん
2014/05/07(水) 20:08:23.11ID:FbKWdn3jttp://www.slashdot.org/story/14/05/07/0218341/visual-basic6-registeration-activity-to-world-heritage
0064デフォルトの名無しさん
2014/05/08(木) 12:53:12.29ID:rolcPd33どういう事だってばよ
0065デフォルトの名無しさん
2014/05/09(金) 23:44:13.36ID:7dZsjX9Z0066デフォルトの名無しさん
2014/05/10(土) 13:43:52.07ID:m/AO6ufT自作自演で盛り上がってた馬鹿がいたな。
あれは何だったっけ。
MSがVB6を復活させるとかだったかな。
0067デフォルトの名無しさん
2014/05/12(月) 17:59:32.73ID:jf5K+NL8�@ドラッグスタート処理(Picture1_OLEStartDrag)
Data.SetData Picture1.Image, vbCFDIB ・・・送出するイメージをセット
�Aドロップ処理(Picture2_OLEDragDrop)
If Data.GetFormat(vbCFDIB) Then
Picture2.Picture = Data.GetData(vbCFDIB) ・・・受けたイメージを表示
End if
送出する Picture1.Imageの代わりに、イメージコントロール(Image1.Picture)から送ることはできないのですか?
0068デフォルトの名無しさん
2014/05/12(月) 18:47:48.42ID:jf5K+NL8Data.SetData Image1.Picture
0069デフォルトの名無しさん
2014/05/12(月) 19:37:20.33ID:gXhYZUV/Image1のPictureに何も登録されてなければ、そこでエラーになるみたいですね
0070デフォルトの名無しさん
2014/05/12(月) 20:06:07.24ID:jf5K+NL8解決しました、ありがとうございました
Picture1だけにJPGを読み込んであって、
Image1には、実行時に
Image1.Picture = Picture1.Picture で表示させていましたが
これだとData.SetData で形式が違うというエラーになり
Image1.Picture = Picture1.Image
に変更したらいけました
0071デフォルトの名無しさん
2014/05/12(月) 23:02:23.64ID:jf5K+NL80072デフォルトの名無しさん
2014/05/16(金) 10:32:41.98ID:D3ozXe84その画像がJPGであるならJPGのファイル構造そのままのバイナリが
リンクのための画像であるなら、リンク先のアドレスがテキストとしてドロップされる
JPGのバイナリがドロップされる場合、
Data.GetData(vbCFDIB) には、そのバイナリデータが格納されているはず
実際は、ヘルプによるとバリアント型ということで
バリアント型に代入してみてVarTypeで調べるとLong型
バイナリデータを指し示すハンドルではないかと思われます
このドロップデータをなんとかバイト配列で受けれないでしょうか?
PictueBoxにロードしてBMPやJPGで保存し直すでのはなく、そのままのバイナリが欲しい
APIを探してますが、VBだけでできる方法をご存知の方・・
0073デフォルトの名無しさん
2014/05/16(金) 10:40:03.38ID:rRN/Z/gP0074デフォルトの名無しさん
2014/05/16(金) 17:08:34.76ID:724paaYo単にネット上の画像をそのまま保存したいだけなんです
ポップアップメニューから「名前を付けて保存」ができないサイトでも
そうするとドラッグ&ドロップで保存できるんです
一旦、ピクチャボックスで受けて、JPG保存する方法があるんですが
低圧縮であまり劣化しないようにしても気分悪いなーという話でして
0075デフォルトの名無しさん
2014/05/16(金) 22:35:31.64ID:aHDMTE2wVBプログラマーってバカしかいないんだな。
0076デフォルトの名無しさん
2014/05/17(土) 08:52:14.59ID:ErlAw5/lttp://i-break.net/article/68901897.html
ここを参照。
Picture.PictureにData.GetData(vbCFDIB)が突っ込めるということは、
Property Picture As IPictureDisp
VB.PictureBox のメンバ
なので、SavePictureJpgにそのままつっこめる。
0077デフォルトの名無しさん
2014/05/17(土) 20:17:06.60ID:wiA8Rul4クローズします
0078デフォルトの名無しさん
2014/05/18(日) 11:30:05.48ID:8sUjGOQwここにあるスクリーンキーボードを枠なし+マウスで移動可能にするにはどうすればいいですか?
http://homepage1.nifty.com/yasunari/VB/VB2005/ScreenKeyBoardMaking.htm
0079デフォルトの名無しさん
2014/05/18(日) 11:57:18.03ID:J4nIq/1HそのURLのサンプル、VB.NET2005みたいだけど、書き込むスレ間違ってない?
ここはVB6.0までだよ。
0080デフォルトの名無しさん
2014/05/18(日) 12:01:20.67ID:8sUjGOQwあちゃ・・・すみません。スレチでした
0081デフォルトの名無しさん
2014/05/25(日) 20:45:02.54ID:EwER0mMKttps://sites.google.com/site/vbclassicforever/visual-basic-5-0-control-creation-edition
0082デフォルトの名無しさん
2014/05/25(日) 20:46:38.73ID:UOeAOsx20083デフォルトの名無しさん
2014/05/25(日) 20:47:43.74ID:UOeAOsx20084デフォルトの名無しさん
2014/05/27(火) 12:11:26.90ID:D6t3bmO9>>81がウィルスの可能性が高いっていわれてもなぁ
0085デフォルトの名無しさん
2014/05/27(火) 14:38:05.77ID:h6DOL/640086デフォルトの名無しさん
2014/05/27(火) 18:59:07.75ID:3RvxFnTZ0087デフォルトの名無しさん
2014/05/27(火) 19:02:43.07ID:GvncSSLq0088デフォルトの名無しさん
2014/05/27(火) 19:06:44.20ID:6UmWmLr/ここには無いんだね
0089デフォルトの名無しさん
2014/05/29(木) 00:15:14.85ID:Kg1bZGF5ttp://akihitoyamashiro.com/VBA/FunctionPointer.htm
0090デフォルトの名無しさん
2014/06/02(月) 16:54:01.47ID:ZFvxlDIALong型で受けたHBITMAPをPicture1.Imageへ代入すると型が違うのでエラーになります。
キャストすることもできないのですが、どうすればPicture1.ImageへHBITMAPを代入できますか?
0091デフォルトの名無しさん
2014/06/02(月) 17:02:06.09ID:RquarvTq俺は大抵BitBltとかでコピーしてたが
0092デフォルトの名無しさん
2014/06/02(月) 17:30:10.64ID:RquarvTq0093デフォルトの名無しさん
2014/06/02(月) 17:43:39.65ID:RquarvTqhttp://homepage1.nifty.com/CavalierLab/lab/win/bitmapobject.html
0094デフォルトの名無しさん
2014/06/02(月) 18:41:00.91ID:f9GOzSmg別に画像が見たいって言ってる訳じゃないんだから描画は必要ないだろ?
Declare定義でhBitmapを引数で受ける時の型をAnyに設定してそのまま代入すればよろし。
0095デフォルトの名無しさん
2014/06/02(月) 19:10:56.11ID:NUj2DDjf>どうすればPicture1.ImageへHBITMAPを代入できますか?
オブジェクトブラウザより
>Property Image As IPictureDisp
>
読み取り専用
> VB.PictureBox のメンバ
> 継続表示属性を持つグラフィックスに対応するハンドルを返します。ハンドルの値は、Microsoft Windows によって自動的に設定されます。
>
読み取り専用
>
読み取り専用
>
読み取り専用
0096デフォルトの名無しさん
2014/06/02(月) 19:15:02.62ID:f9GOzSmgすまん。実はVB6なんて骨董品、触ったこともないのでw
0097デフォルトの名無しさん
2014/06/02(月) 19:17:16.33ID:NUj2DDjf0098デフォルトの名無しさん
2014/06/02(月) 19:26:53.85ID:Sb+HWHY08bitグレースケールのイメージをそのまま扱うならGetBitmapBitsからBMPファイル作成と行きたいが
GetBitmapBitsは16ビットバージョンのWindows(3.x以前)との互換用に残されたもので、使うべきでない?
やはり一旦カラーにしてから8ビットグレーを作成し直すしかないの?
新しい方が不便なんて皮肉な話だな。
0099デフォルトの名無しさん
2014/06/02(月) 19:35:58.04ID:9SzfsgEp0100デフォルトの名無しさん
2014/06/02(月) 19:50:42.06ID:RquarvTqこれどこ情報よ
0101デフォルトの名無しさん
2014/06/02(月) 19:55:06.94ID:RquarvTqhttp://www.gizcollabo.jp/vbtomo/boards/vbqanda_spread_3476.html
BMP 画像の扱いかた
http://www.geocities.co.jp/SiliconValley-SanJose/9921/bitmap.htm
0102デフォルトの名無しさん
2014/06/02(月) 20:45:08.36ID:Sb+HWHY0すまん。今時Windowsの画面設定は24bitカラー以上が常識なんで、勝手に固定してしまったわw
>>101
それはいいサンプルだ。しかしやはり画面表示環境依存なのでアルゴ切り分けないといけないんだな。
俺だったら多態性を使ってもっとうまく実装するがな。
0103デフォルトの名無しさん
2014/06/02(月) 21:05:23.73ID:eGnz5SXu>画面表示環境依存
いや、依存してないってば
DIB(Device Independent Bitmap)というのはデバイス(ここでは画面の表示色)に依存しないで扱える関数なの。
画面の表示色でビットマップの色数がコロコロ変わるのはDDBだよ。
BitBlt() 関数はDDBだから画面の表示色によって描画色数がカメレオンのように変わってしまうが
同じ描画を繰り返し行うような場合はDIBより遥かに高速なので、一般的な描画処理にはDDBが使われることが多い。
0104デフォルトの名無しさん
2014/06/02(月) 22:46:43.22ID:4x3NC5V10105デフォルトの名無しさん
2014/06/03(火) 09:27:50.00ID:djyKfwIh要約するまでもないだろ?
0106デフォルトの名無しさん
2014/06/03(火) 18:54:16.29ID:M9d0+DYH0107デフォルトの名無しさん
2014/06/09(月) 12:18:04.38ID:b2HRq1QXVB6に移植するにはどう実装したら良いですか?
0108デフォルトの名無しさん
2014/06/09(月) 12:29:51.68ID:M8Wl6BC9http://www.vb6.us/tutorials/convert-c-strings-vb-strings
0109デフォルトの名無しさん
2014/06/09(月) 13:25:09.42ID:b2HRq1QXうまくできました。ありがとうございました。
0110デフォルトの名無しさん
2014/06/10(火) 22:39:30.78ID:p3jSqJSc取得する方法はありますか?
APIを使ってBitBltでメモリDCにコピーしてみたりしたんですが、PrintFormだとForm
上のControlが更新された状態(表示しているのと同じ)で印刷されますが、Form.Refresh
してもControlの状態がうまく反映されません。
なにか秘密のおまじないがあるのでしょうか?
0111デフォルトの名無しさん
2014/06/11(水) 05:42:29.78ID:CVKSa2Revbpファイルになぜか
DebugStartupOption=0
の行が追加されてた。
Bingでこれを検索しても、日本語のサイトでは、「この行を消す」と書いてる
ページしか見つからんで、これが何を意味するのかまでは書かれていない。
これは何を意味するするものなのか。
0112デフォルトの名無しさん
2014/06/17(火) 01:54:25.75ID:kkMibhmlここで言うサイズてのはC言語でいうとしたらsizeofの結果ね
0113デフォルトの名無しさん
2014/06/17(火) 02:06:06.96ID:pkDXqnaoで分かるんじゃないの?
0114デフォルトの名無しさん
2014/06/17(火) 02:27:19.04ID:pkDXqnao>バリアント型 (Variant) は数値を格納する場合、16 バイトの格納領域を持ち、10 進型 (Decimal) の範囲までのデータを格納することができます。
>文字列を格納する場合は、22 バイトに文字列の長さを足した格納領域を持ち、任意のテキストを格納できます。
>バリアント型 (Variant) の変数に格納されている値がどのように扱われるかは、VarType 関数で調べることができます。
サイズ不定だね
0115デフォルトの名無しさん
2014/06/17(火) 02:31:34.62ID:pkDXqnao0116デフォルトの名無しさん
2014/06/17(火) 07:40:08.78ID:4TaquwTXえ゛?
0117デフォルトの名無しさん
2014/06/17(火) 09:13:51.33ID:BfmubFCc文字列用ではないけど、事実上使う場所が文字列を対象とする場合しか意味を持たないからそう書いたんだしょうな。
0118デフォルトの名無しさん
2014/06/17(火) 12:08:06.83ID:Mq+QjSjcオブジェクトや配列のポインタを格納していようがsizeofは不変だ
0119デフォルトの名無しさん
2014/06/17(火) 14:26:01.52ID:l2MahTznバイナリデータを文字列型で扱ったことないのか?
0120デフォルトの名無しさん
2014/06/17(火) 17:07:06.79ID:Ri7Rs8Aqバイナリデータでも文字列なんだろ?自分で言ってるじゃん
文字列型(String)なんて誰も言ってないだろうに
あわてんびな初心者乙
0121デフォルトの名無しさん
2014/06/17(火) 18:39:29.84ID:l2MahTznじゃあLenBの使いどころ説明してみ
あ、バイナリデータの意味が理解できないか、データと型の区別もつかない初心者さんですか
0122デフォルトの名無しさん
2014/06/17(火) 19:14:17.20ID:Ri7Rs8Aq0123デフォルトの名無しさん
2014/06/18(水) 08:17:06.61ID:KLzf4/QQ質問者不在で盛り上がりすぎだ。
0124デフォルトの名無しさん
2014/06/18(水) 09:17:43.94ID:Z4UW0q9W0125デフォルトの名無しさん
2014/06/18(水) 20:48:52.28ID:IPfuBIEmこうやってすぐにレッテル張りに走るやついるよな
0126デフォルトの名無しさん
2014/06/18(水) 21:47:15.75ID:bqqlXo6l0127デフォルトの名無しさん
2014/06/18(水) 21:57:33.91ID:IPfuBIEmレッテル貼り君乙。
0128デフォルトの名無しさん
2014/06/18(水) 22:02:52.80ID:bqqlXo6l自己紹介乙
0129デフォルトの名無しさん
2014/06/18(水) 22:05:22.92ID:IPfuBIEmやっぱそう思うよな、間違ってなかった
0130デフォルトの名無しさん
2014/06/18(水) 22:06:03.22ID:bqqlXo6l0131デフォルトの名無しさん
2014/06/18(水) 22:06:03.72ID:cO7v6OhK0132デフォルトの名無しさん
2014/06/18(水) 22:06:44.49ID:bqqlXo6lうわっ!同時点で俺と同じことを考えてるw
0133デフォルトの名無しさん
2014/06/18(水) 22:10:57.42ID:IPfuBIEm日本人がやることじゃないな
>>124はチョン
0134デフォルトの名無しさん
2014/06/18(水) 22:15:31.20ID:w5yPXs6U0135デフォルトの名無しさん
2014/06/18(水) 22:42:24.11ID:5dhdejjUレッテル貼りに走る 走るという行為を副詞的に限定化するものではあるが、常なる行為者として、決定・結論付けているとまではいえない。
「レッテル貼り」 常なるレッテルを貼る行為者という意味で名詞化している。 すなわち、決定・結論付けている
ゆえに、意味内容的に同等とはいえないというのが正しい評価だろう
0136デフォルトの名無しさん
2014/06/18(水) 22:44:22.83ID:IPfuBIEmごめんだけどアスペっぽいw
0137デフォルトの名無しさん
2014/06/18(水) 22:51:54.44ID:bqqlXo6lつまり、自分に都合が悪い事は無かったことにする、卑怯者だってことは分かった
レッテル引っ張りすぎてプライドが破れちゃったかも
0138デフォルトの名無しさん
2014/06/18(水) 22:52:17.96ID:5dhdejjU喜んでいただけて、実に光栄です
0139デフォルトの名無しさん
2014/06/18(水) 22:54:02.73ID:IPfuBIEmただの打ち間違いにこだわるかなふつう
アスペはいいすぎじゃないと思ったw
0140デフォルトの名無しさん
2014/06/19(木) 09:53:42.30ID:trlrXrDN0141デフォルトの名無しさん
2014/06/20(金) 07:51:41.50ID:42Cjh3o9> 文字列型(String)なんて誰も言ってないだろうに
むしろ >>119 は明言してるし
> バイナリデータを文字列型で扱ったことないのか?
0142デフォルトの名無しさん
2014/06/20(金) 17:43:20.08ID:D0Z6m0Nfだから
>バイナリデータの意味が理解できないか、データと型の区別もつかない初心者さん
なんだろ
0143デフォルトの名無しさん
2014/06/20(金) 18:58:15.60ID:jUMxMxY7なんてことはやった記憶ないな。
StrConvか何か使ってエンコード/デコード(Byte()と文字列感の変換)が出来たような
記憶はあるが。
分かってないのは少なくとも>>119も一緒じゃないのか。
っていうか、MSDN読んでもLenBに文字列を渡した場合、何が返ってくるのかさっぱり分からんな。
BSTRってPascal文字列みたいに先頭に自分のサイズを持ってたはずだが、そこや
Null終端を含むのか含まないのか。
0144デフォルトの名無しさん
2014/06/21(土) 00:23:25.30ID:KMvjaKi+> >バイナリデータの意味が理解できないか、データと型の区別もつかない初心者さんなんだろ
あわてんびとか言ってるやつのこと?
>>143
> もう10年以上VB6触ってないけど、バイナリデータを文字列型で扱う(文字列型の変数に入れるって意味か?)なんてことはやった記憶ないな。
バイナリファイルファイル直接読み書きするとか、通信回線経由でデータの送受信したりすると避けて通れなかったような記憶がある。
> StrConvか何か使ってエンコード/デコード(Byte()と文字列感の変換)が出来たような記憶はあるが。
StrConv( ) は、S-JIS と Unicode 間の変換。
> BSTRってPascal文字列みたいに先頭に自分のサイズを持ってたはずだが、そこや
> Null終端を含むのか含まないのか。
含まないよ。
0145デフォルトの名無しさん
2014/06/21(土) 03:56:14.57ID:cHoAUDWh>StrConvか何か使ってエンコード/デコード(Byte()と文字列感の変換)が出来たような
VB6ではバイト配列は暗黙的に文字列型に変換可能
StrConvは基本的に文字コード変換。文字列型をうけて文字列型を返す
StrConvがバイト配列から文字列にしてるわけじゃない
暗黙的に文字列型に変換されたものをStrConvでコード変換しただけだろ
で、MSDNの説明が理解できんって、それホントに旧VB用のMSDN見て言ってるのか?
BSTRやNULL文字ターミネートとか、VBには関係ない話だぞ
(API呼び出しするならまったく無関係と言うわけでもないが)
何年かぶりにVB6立ち上げてLen関数のヘルプみたら
>文字列をバイト データとして扱う場合は、LenB 関数を使用します。
と書いてあってワラタ
で、
>LenB 関数は、指定した文字列のバイト数を返します。
これだけだろ(ユーザ定義型を渡した場合のぞいて)
この場合指定した文字列はバイトデータとして扱われるってだけ
0146デフォルトの名無しさん
2014/06/21(土) 04:39:10.73ID:EfmviY6Oオブジェクトを格納した場合のサイズは?
0147デフォルトの名無しさん
2014/06/21(土) 13:20:21.84ID:D5Vj2iMw馬鹿だろお前。VBerってこんなのばっかりだな本当。
頭が文字コードがANSI(Shift-JIS)しかない時代で止まってるよお前さん。
自分で文字コードを変換、なんて書いてるけど、そんな概念が意味を持つのは、
あるエンコーディングでエンコードされた文字列をバイト列にデコードして、それを
別のエンコーディングで再エンコードする時だけだから。
後半なんか話にならない。
VBの文字列型の内部構造も知らずにいまだにVB使ってるのか。
0148デフォルトの名無しさん
2014/06/21(土) 13:27:56.87ID:D5Vj2iMwバイト列をあるエンコーディングでエンコードして、それを別のエンコーディングで
デコードする場合、が正解。
0149デフォルトの名無しさん
2014/06/21(土) 13:43:10.23ID:5NxEdf68お前何一人で、関係ない話してるの?
0150デフォルトの名無しさん
2014/06/21(土) 13:58:38.21ID:6UXHBZAi> バイト列をあるエンコーディングでエンコードして、それを別のエンコーディングで
> デコードする場合、が正解。
バカはお前だ
S-JIS で書いてあるファイルをバイナリで読んで VB で色々加工するなら変換するのが一番楽だろ
0151デフォルトの名無しさん
2014/06/21(土) 14:07:41.44ID:olAW34R3VBの文字列というかBSTRはCの文字列と互換性があるように作られてる。
VBの文字列をWindows API(C言語ライブラリとも言える)に渡せるのはそのため
VBの文字列のアドレスはStrPtrで取得できるが、文字列のサイズ情報は
StrPtrで取得したポインタよりも "前" に記録されている。
さらにVBの文字列が終わった "後" のメモリ領域に2バイトの0x00が格納されている。
これはVB6の内部文字コードであるUNICODE(UTF16)のNULL文字
VBは文字列の中にNULL文字などを含められる(その為にサイズ情報が存在する)が
APIとの互換性のために文字列が終わった後のメモリに余分にNULL文字が記録されてる。
LenBは文字列のサイズ情報を返すだけ。(C言語のように実際にNULL文字が
見つかるまで数えているわけじゃないから速度が早い)
文字列のサイズ情報も、API互換性のための0x00 0x00も
文字列そのもの自体のメモリ領域よりも、外側に存在する。
参考
http://bytecomb.com/vba-internals-string-variables-and-pointers-in-depth/
0152デフォルトの名無しさん
2014/06/21(土) 18:09:05.93ID:EfmviY6O0153デフォルトの名無しさん
2014/06/21(土) 19:55:17.61ID:cHoAUDWhおまえ、VB6の内部文字コード何だと思ってるんだ?
文字コードが1種類しかないならなんで文字コード変換とか言う話になるんだよ
自分で文字コードを変換しないならStrConvとか要らないだろうが
文字コードがANSI(Shift-JIS)しかない時代で止まってるか
すべてUNICODEで統一された別世界の人ですか
0154デフォルトの名無しさん
2014/06/22(日) 02:10:44.30ID:Y+HF0vpzそれはUnicode対応でないアプリの話であり、
それはコントロールパネルの設定から変更できる。
日本語版以外のWindowsがShift-JISなわけがないじゃないw
VB6やWindowsそのものはずっと昔からUnicode対応だよ。
0155デフォルトの名無しさん
2014/06/22(日) 07:49:14.67ID:RW5621qnロケールや各国語専用のDLLがやってたりするんで、内部処理がUNICODEなのに
国際化対応が非常にやっかいだね。というかアプリケーションレベルではヤりたく
ないほど煩雑だ。
0156デフォルトの名無しさん
2014/06/27(金) 06:52:10.03ID:xqenH9Sh例えば「ファイル」メニューをクリックして
そのクリックイベントで子メニューの配列を増やす(LOAD)することはできないのでしたっけ?
エラー361が出て、ヘルプでは親メニューのクリックイベントで子メニューをアンロードしようとしたろと書いてありますが
アンロードでなくロードしようとしたのにエラーになります
そのロードするコードは、仮にボタンを作って、そこから実行すると問題なく実行されて子メニューが追加されています
0157デフォルトの名無しさん
2014/06/27(金) 07:12:51.08ID:xqenH9Sh親メニューのクリックイベントで子メニューのVisibleを設定することで
動的に増減させようとしたらVisibleすら設定できないのですね
ありがとうございました
0158デフォルトの名無しさん
2014/06/27(金) 08:19:47.31ID:FFmBu7V90159デフォルトの名無しさん
2014/06/29(日) 00:20:35.54ID:bwCa7Je8どうしてるんだ?
0160デフォルトの名無しさん
2014/06/29(日) 05:04:47.36ID:r3ERVTwD古いOSで動かせばいいだけだろ
サポートが切れたからと言って、古いOSが動かなくなるわけではないんだが
0161デフォルトの名無しさん
2014/06/29(日) 08:52:43.83ID:KFRMJvcVWin7で動かす時には、ちゃんとおまじないがMSから公開されているよ。
0162デフォルトの名無しさん
2014/06/29(日) 11:01:04.26ID:xhS0WnDJそのおまじないを探してみたが、これか?
http://msdn.microsoft.com/ja-jp/vstudio/ms788708/
0163デフォルトの名無しさん
2014/06/29(日) 22:10:47.34ID:Wr4c52dB0164デフォルトの名無しさん
2014/07/01(火) 12:11:51.01ID:pNYjplQC0165デフォルトの名無しさん
2014/07/01(火) 12:17:44.92ID:t5KNleFuVBA._HiddenModule のメンバのObjPtrやStrPtrやVarPtrを使うとかどうよ
0166デフォルトの名無しさん
2014/07/01(火) 12:22:33.21ID:2NEwuYNnAppleScriptを実行できるってこれなんだ
0167デフォルトの名無しさん
2014/07/01(火) 12:36:58.30ID:pNYjplQCVB6ではないだろ
0168デフォルトの名無しさん
2014/07/01(火) 12:55:06.39ID:t5KNleFuそういや外部APIに渡せるんだから順序は定義順だな
0169デフォルトの名無しさん
2014/07/09(水) 17:17:13.65ID:v0gMM/jR0170デフォルトの名無しさん
2014/07/09(水) 17:22:28.44ID:eXWNbxbHVB.NET質問スレ(Part41)
http://peace.2ch.net/test/read.cgi/tech/1391334405/
0171デフォルトの名無しさん
2014/07/09(水) 19:18:07.36ID:v0gMM/jRすいません
0172デフォルトの名無しさん
2014/07/18(金) 13:00:24.96ID:CVQo24HFどうやればドッキングできますか?
縦にはドッキングできるんだけど、頑張ってるけど左右にできない・・・
0173デフォルトの名無しさん
2014/07/18(金) 13:19:11.05ID:y3wAERO+0174デフォルトの名無しさん
2014/07/18(金) 13:35:16.12ID:zTacBNcyhttp://iup.2ch-library.com/i/i1242253-1405657986.png
http://iup.2ch-library.com/i/i1242250-1405657841.png
http://iup.2ch-library.com/i/i1242249-1405657821.png
http://iup.2ch-library.com/i/i1242248-1405657791.png
http://iup.2ch-library.com/i/i1242247-1405657758.png
ウインド掴んで移動させて、細い線になったときがドッキング位置
縦長か横長かで、縦横どっちにドッキングするかがわかる
0175デフォルトの名無しさん
2014/07/18(金) 18:50:28.47ID:CVQo24HFありがとうございます。
自分の説明が足りなかったですね。
4枚目のように右にプロジェクトとプロパティが縦に並んで
左の下に左右にイミディエイトとウォッチを配置したいのです。
http://iup.2ch-library.com/i/i1242467-1405676934.jpg
こんな感じです。
これはイミディエイトとウォッチをフローティングの状態に
していますが、これをドッキングさせたいのです。
VB6では無理なんですかね?
0176デフォルトの名無しさん
2014/07/18(金) 18:57:29.62ID:zTacBNcyこういうことだよね?
まず横に2つくっつけてから、枠の下にくっつければいい。
0177デフォルトの名無しさん
2014/07/18(金) 18:59:09.21ID:CVQo24HFうおおおお!!これです!これ!!!
ありがとうございます。
頑張ってやってみます。
0178デフォルトの名無しさん
2014/07/18(金) 18:59:37.74ID:9k7dPjl+0179デフォルトの名無しさん
2014/07/18(金) 19:16:52.56ID:9lilrWED0180デフォルトの名無しさん
2014/07/18(金) 19:58:59.92ID:R345FHixこれ特別なの?普段ウォッチ開くと必ずこうなるんだが?
0181デフォルトの名無しさん
2014/07/18(金) 20:06:07.32ID:9lilrWED後でドッキングしても元のドッキングの順番に戻らないことがまれにあるよ
0182デフォルトの名無しさん
2014/07/19(土) 09:34:30.44ID:klGkDvq+マイグレーションの仕事が山ほどあるからな
VB6を知ってる中小がはいっぱぐれない
しかし廃れゆくVB6なんか覚えても労働者に未来はない
0183デフォルトの名無しさん
2014/07/29(火) 22:44:38.24ID:bn2IaD23原因を調べてみると、a$ = b$ + c$ の文字列結合で、b$に日本語が入っていると、
b$ + " " + c$ のように余分な半角空白が入ってしまいます。
どなたかこれの回避方法をご存じないでしょうか?
文字列結合をすべて特定の関数で行おうかなとも考えています。
ちなみに、vectorにある日本語VB6ランタイムをWin7機で入れてあります。
もちろん方法として、新しいVBへ移行させるという手はありますが、長いプログラムなので回避方法で動けばそれですませたいのです。
0184デフォルトの名無しさん
2014/07/29(火) 22:58:51.55ID:15oRKj17Private Sub Command1_Click()
Dim a$, b$, c$
b$ = Text1.Text
c$ = Text2.Text
a$ = b$ & c$
Label1.Caption = a$
End Sub
0185デフォルトの名無しさん
2014/07/29(火) 23:01:14.51ID:15oRKj170186デフォルトの名無しさん
2014/07/29(火) 23:02:58.71ID:15oRKj170187デフォルトの名無しさん
2014/07/29(火) 23:03:58.00ID:15oRKj17どっちも公式の修正は全部適用済み
0188デフォルトの名無しさん
2014/07/30(水) 00:29:46.94ID:CdQaW6RK0189デフォルトの名無しさん
2014/07/30(水) 00:43:24.94ID:HMvlfSFZこれでアカンの?
0190デフォルトの名無しさん
2014/07/30(水) 01:57:06.95ID:/sawPdNNまぁどういう文字列扱うのか知らんけど
0191デフォルトの名無しさん
2014/07/30(水) 03:57:04.59ID:k3uJKoPZエラーか、Dim優先か型指定文字優先かで暗黙変換するのか
b$,c$が実は文字列じゃなかったってオチはないのか
0192デフォルトの名無しさん
2014/07/30(水) 09:08:16.09ID:sFaDcVDG0193デフォルトの名無しさん
2014/07/31(木) 08:37:53.68ID:zBkjzOCIWindows 7 における VB6 の Strconv 関数の挙動
http://blogahf.blogspot.jp/2010/12/windows-7-vb6-strconv.html?m=1
0194デフォルトの名無しさん
2014/07/31(木) 12:49:59.88ID:rqUYoRIXオレソフトがほとんど動かないから
Vectorとかからいつもランタイム
ダウンロードしてるよ
0195デフォルトの名無しさん
2014/07/31(木) 18:15:07.33ID:Ve2gLFMcPictureコントロールとかに、パレットモードのビットマップを読み込み → Picture1.Picture = LoadPicture( File )
その色を参照しますと、longのRGB値が返ってきますやね? → ColorData = Picture1.Point(X, Y)
0〜255のパレットで取得する方法ってありますか?
0196デフォルトの名無しさん
2014/08/01(金) 00:18:20.63ID:Wruc3mJq似てるだけで完全に別の言語だろ…
0197デフォルトの名無しさん
2014/08/01(金) 00:32:30.14ID:TigIDjwN0198デフォルトの名無しさん
2014/08/01(金) 00:33:26.47ID:TigIDjwN0199デフォルトの名無しさん
2014/08/01(金) 00:36:34.92ID:Wruc3mJqいやなまじ似てるからギャップがあって習得が難しい
1からJavaやる方が楽
0200デフォルトの名無しさん
2014/08/01(金) 01:11:02.19ID:FxBBG4fg工数だろ
.Netなら不要な共通関数も、配列を使った分かりにくいデータ加工も
大量のドカタを投入するだけで全部ひっくるめて移行できる
進捗管理も楽
0201デフォルトの名無しさん
2014/08/01(金) 01:18:57.33ID:PER4Q7A8VB.NETはVB6を知ってると返って混乱する
いま仕事で使ってるけど
ラムダ、拡張メソッド、匿名クラス、ジェネリックなんかの
構文が無理矢理すぎて気持ち悪い
先進機能はまずC#で実装だし
0202デフォルトの名無しさん
2014/08/01(金) 01:29:05.94ID:rO56Z25g先進機能とやらはC#でガンガン実装してもらって
ノウハウが拡散されてコピペできるようになってから
VBに降りて来てくれれば充分
0203デフォルトの名無しさん
2014/08/01(金) 04:54:51.83ID:5JZNpp1J> ラムダ、拡張メソッド、匿名クラス、ジェネリックなんかの
> 構文が無理矢理すぎて気持ち悪い
使わなきゃいいじゃん...
0204デフォルトの名無しさん
2014/08/01(金) 23:18:35.48ID:Wruc3mJq0205デフォルトの名無しさん
2014/08/01(金) 23:24:25.51ID:S5uolvNz0206デフォルトの名無しさん
2014/08/01(金) 23:33:23.50ID:TigIDjwN0207デフォルトの名無しさん
2014/08/02(土) 09:18:19.34ID:xQ+kSU9tファイルからそのままXY計算して読むとか
元ファイルからパレット情報を取り出してRGBと比較するとか
読み込んだ時点でパレット情報は失われているわけだから気を付ける必要はあるが
0208デフォルトの名無しさん
2014/08/02(土) 10:04:41.04ID:+I+gUQ1lそれは鶏が先か卵が先かという命題と似ているね。
設計作業自体は本来言語とは無関係に行えるんだけど、VB6はその特性上、
どんなに素晴らしい設計をしても実装段階ですべてをぶち壊しにする程なので
そんな仕事を繰り返しているうちに設計の勘所やセンスを失ってしまううんだろう。
0209デフォルトの名無しさん
2014/08/02(土) 12:09:32.60ID:tvZxKsuR具体的に何が問題だというの?
0210デフォルトの名無しさん
2014/08/02(土) 12:15:08.11ID:Mk2uM7ds> どんなに素晴らしい設計をしても実装段階ですべてをぶち壊しにする程なので
語るねー
ひとつでいいから、具体例あげてみ
0211デフォルトの名無しさん
2014/08/02(土) 12:56:13.43ID:+I+gUQ1lOn Error GoTo FinalProc
色々やる
FinalProc:
If Err.Number = 0 Then Exit Sub
エラー処理色々やる
まあ、こんな塩梅だ…
0212デフォルトの名無しさん
2014/08/02(土) 13:24:35.86ID:pTpTFsb3拍子抜けした
0213デフォルトの名無しさん
2014/08/02(土) 14:28:39.61ID:P+pWdPkzありがとうー
やはりピクチャーボックスだけでは完結させらでないのですな…
これを機に、BMP読み込みの関数でも作るかな
0214デフォルトの名無しさん
2014/08/02(土) 15:19:52.39ID:xQ+kSU9t0215デフォルトの名無しさん
2014/08/02(土) 20:46:44.15ID:q/4scjviだから何?
0216デフォルトの名無しさん
2014/08/02(土) 21:42:35.40ID:peOjsuVSとりあえず、ネットに転がってるサンプルを解析して作ってみた。
VBで初めて構造体なんか使ったぜ… ほとんど読み捨て用だけど。
で。
ヘッダはVBだしWinodws用固定でいいとして、パレットエリアが可変幅ってのはめどい…
今回扱うのは256色固定だから、256x4固定で宣言したけど。
0217デフォルトの名無しさん
2014/08/02(土) 22:16:47.28ID:gl/+f0TI0218デフォルトの名無しさん
2014/08/05(火) 00:12:56.38ID:CPdPN9K1死ねと思うわ。つかころ・・・
0219デフォルトの名無しさん
2014/08/05(火) 00:17:48.46ID:QOn7u7JWまたそれか。
ずいぶん前にも書いたはずだけど、重要なことはちゃんと発生しうるエラーを
想定したコードを書くことであって、On Error Resume Nextを使うかどうかは
それと関係ない。
個人的にはむしろGotoで飛びまくるコードより、On Error Resume Nextを使った方が
まだしもまし。
0220デフォルトの名無しさん
2014/08/05(火) 00:46:32.77ID:cKkOB6R80221デフォルトの名無しさん
2014/08/05(火) 05:52:07.76ID:TYaplwgvまだしもまし。
に1票
0222デフォルトの名無しさん
2014/08/05(火) 09:33:01.32ID:OnSJwMSkループの外でもう一回条件チェックするくらいなら、素直にgotoした方がわかりやすいプログラムになるんだがなあ
0223デフォルトの名無しさん
2014/08/05(火) 10:42:02.17ID:k82VfZ6w0224デフォルトの名無しさん
2014/08/05(火) 10:53:23.66ID:PZ15wcVz0225デフォルトの名無しさん
2014/08/05(火) 10:57:28.17ID:k82VfZ6w0226デフォルトの名無しさん
2014/08/05(火) 12:38:45.56ID:0noCA0db0227デフォルトの名無しさん
2014/08/05(火) 16:07:50.46ID:A27X/NKX0228デフォルトの名無しさん
2014/08/05(火) 16:10:58.82ID:+dNJfQuE0229デフォルトの名無しさん
2014/08/05(火) 22:02:00.61ID:mtzM1eZhさすがにそれには速攻ダメ出しするわ
0230デフォルトの名無しさん
2014/08/06(水) 02:15:40.39ID:JlXHaWRRCall 無価値なメッセージを表示してプログラムを止める
↑これやめてくれ
ハンドリングしない方がはるかにマシ
0231デフォルトの名無しさん
2014/08/06(水) 09:40:59.09ID:+V/6KFCL状況よくわからんが、間違えた結果だしてなにも言わずに正常終了よりマシだと思うが。
0232デフォルトの名無しさん
2014/08/06(水) 09:55:36.91ID:nr5KKulL良 ←→ 悪
ちゃんとしたエラー表示>素のエラー>無意味なエラー表示>エラーも出ずスルー
0233デフォルトの名無しさん
2014/08/06(水) 17:34:04.62ID:872lHvmjエラーコードを表示させたにしても、だいたいに於いて不具合の原因が分からなくなることが多い
途中でディスク抜かれるとか、そういう不可抗力の場所を除いて
不測のエラーで止まるなら止まってしまえと思う
客先に行って不測のエラーとやらを見てみたいという気構えが大事
0234デフォルトの名無しさん
2014/08/06(水) 17:48:00.90ID:kr9/VG260235デフォルトの名無しさん
2014/08/06(水) 18:32:01.79ID:nr5KKulL外部ファイルにCOMポート番号もたせて「これ書き換えて」が通用する相手ならいいんだが
0236デフォルトの名無しさん
2014/08/06(水) 23:23:59.28ID:Rv/16L6Zどちらが悪いかではなく、またこの行そのものではなく、
On Error Resume Next であれば、次の行
On Error Goto であれば、ジャンプ先の行
でやる処理がちゃんとなっているか、
ちゃんと処理しているのなら、どちらでもいいし
ちゃんとしていないのなら、どちらもダメ。
On Error 〜 はどちらでもこの行だけ見てもなんとも言えない。
0237デフォルトの名無しさん
2014/08/07(木) 00:22:26.58ID:5BCVlZMu0238デフォルトの名無しさん
2014/08/07(木) 09:35:13.67ID:VqO0SR3j0239デフォルトの名無しさん
2014/08/07(木) 10:30:05.40ID:sOXSexQM0240デフォルトの名無しさん
2014/08/07(木) 11:16:02.87ID:IdGGKRkY0241デフォルトの名無しさん
2014/08/07(木) 11:27:10.53ID:3lhlpwhcどういうこと?
0242デフォルトの名無しさん
2014/08/07(木) 15:32:27.11ID:VqO0SR3j行番号を使えば相対位置の把握が楽になるからでしょう。
現在行から、どっちの方向をさがせばいいかが直感的にわかるです。
0243デフォルトの名無しさん
2014/08/07(木) 18:57:45.92ID:QbecQ1Nn使いどころさえ間違えなければ便利なんだがな、上へ飛ぶGOTO
0244デフォルトの名無しさん
2014/08/07(木) 19:12:24.44ID:k5KK9Ayp0245デフォルトの名無しさん
2014/08/07(木) 22:07:36.36ID:AKN7fSE6on error resume next
エラー処理
resume next要らなくね?
0246デフォルトの名無しさん
2014/08/08(金) 00:20:31.68ID:RagQlliS0247デフォルトの名無しさん
2014/08/08(金) 00:37:26.99ID:QcB2BiWFGOTOだけで破綻(スタックオーバーフロー的な)
しないプログラムを作ったのが今の糧になってるなー
0248デフォルトの名無しさん
2014/08/08(金) 00:48:28.17ID:ZZsJf1aLエラー処理中にエラーでたらまずいんだろ
>>246
昔からの互換だろ
0249デフォルトの名無しさん
2014/08/08(金) 18:42:45.19ID:g5wGbrtl> 使いどころさえ間違えなければ便利なんだがな、上へ飛ぶGOTO
マジで上に飛ぶ goto が便利な状況が思い付かん
0250デフォルトの名無しさん
2014/08/08(金) 19:10:30.97ID:IiTaEzK50251デフォルトの名無しさん
2014/08/08(金) 20:54:29.14ID:20Fp6vclif文のネストを少なくする代わりに、上向きgotoで仕切りなおすの。
昔ながらのBASICだと、条件付きループの中からgosubで呼ぶようなのを、ループ使わない方法が上向きgotoになるイメージだな。
VBなら、gosubじゃなくて関数化してcallだろうけど。
マイコン用のC言語やりだしてから、ほんと上向きのgoto使わなくなったなあ。
OSにいかに早くイベントを返すかが、どうしても気になる…
0252デフォルトの名無しさん
2014/08/08(金) 20:56:27.09ID:20Fp6vcl昔のBASICでメインループをループ命令で作るのはやったことないや。
0253デフォルトの名無しさん
2014/08/09(土) 00:39:51.42ID:xYeYRWXs0254デフォルトの名無しさん
2014/08/09(土) 10:38:04.64ID:+T7xdrkUDo
読み込み
Loop Until 読み込めた
ではダメなのか?
>>251-252
具体的なコードで示してくれないかな
0255デフォルトの名無しさん
2014/08/09(土) 10:48:06.29ID:ffpp7Ige確かにその方が良いね
0256デフォルトの名無しさん
2014/08/09(土) 16:01:39.53ID:j2iiR/U5処理1
処理2
処理3
処理4
Loop Until 条件
処理4で何かあって、処理2とか3とかからやり直したいときとかどうするの?
ネスト深くなるの気にしないとかフラグ増やすの気にしないなら出来なくはないけど
0257デフォルトの名無しさん
2014/08/09(土) 16:22:41.93ID:+T7xdrkUDo
処理1
Do
処理2
Do
処理3
処理4
Loop Until 条件1
Loop Until 条件2
Loop Until 条件3
で、いいだろ。
> ネスト深くなるの気にしないとかフラグ増やすの気にしないなら出来なくはないけど
ネスト気にするなら、そこの処理を関数化するとかすればいいだけ
goto のなにがまずいって、本当は三重ループなのに goto 使えば簡単〜って勘違いする >>256 みたいなアホがでちゃうことだな w
0258デフォルトの名無しさん
2014/08/09(土) 16:24:54.51ID:APV/VAvaDo
処理1
一連の処理
Loop Until 条件
sub 一連の処理
処理2
処理3
処理4
end sub
0259デフォルトの名無しさん
2014/08/10(日) 09:35:13.76ID:PVw8oqHlなんだかんだ言って過去の資産やコンパイラはWindows7でも動くよね
0260デフォルトの名無しさん
2014/08/10(日) 09:42:24.90ID:52XMA8d+0261デフォルトの名無しさん
2014/08/10(日) 10:14:19.95ID:4/qepZJ7うちはUIにGrapeCityのActiveX使ってるから移植する意味が出てきた。
来年8月末でサポート切れるからあせってる。
0262デフォルトの名無しさん
2014/08/10(日) 10:24:39.57ID:PVw8oqHlサポート切れても動くならいいと思う
なんのためにテストしてるのかわからんよ
0263デフォルトの名無しさん
2014/08/10(日) 10:43:09.45ID:zo9IFsz+0264デフォルトの名無しさん
2014/08/10(日) 11:04:11.53ID:9TlyPpyK0265デフォルトの名無しさん
2014/08/10(日) 11:35:37.62ID:zo9IFsz+なにが問題?
http://msdn.microsoft.com/ja-jp/vstudio/ms788708.aspx
0266デフォルトの名無しさん
2014/08/10(日) 11:51:52.34ID:PVw8oqHlテスト不合格なら仮にサポートされてても使えない
じゃないのか?この業界わけわからん
0267デフォルトの名無しさん
2014/08/10(日) 11:56:29.71ID:Jl3CQOkd誰が責任を取ってカネを出すかだ
0268デフォルトの名無しさん
2014/08/10(日) 12:08:16.42ID:PVw8oqHlそれを確認するためのテストなんだし
0269桃白白 ◆9Jro6YFwm650
2014/08/10(日) 12:13:59.30ID:ogxmV0hNせやねん。テストですべての機能、すべての状態で動作することを
保証できたら責任もクソもないねん。せやけど、それ無理やねん。
だから会社のぶちょーさんは神経使うねん。
0270デフォルトの名無しさん
2014/08/10(日) 12:38:51.50ID:Jl3CQOkd0271デフォルトの名無しさん
2014/08/10(日) 12:47:14.74ID:PVw8oqHlサポートされてるなんて建前だけじゃ小さな会社は責任逃れ出来ないよ…
0272デフォルトの名無しさん
2014/08/10(日) 12:57:54.14ID:y8Gl9/2f0273デフォルトの名無しさん
2014/08/10(日) 13:00:44.50ID:5LibjjG9今は保守がほとんどだろうけど、機能追加とかでも新規に起こすよりは安く上がるなら、まだVB6を使わざるを得まい。
0274デフォルトの名無しさん
2014/08/10(日) 14:07:54.73ID:zo9IFsz+> うちで使ってるライブラリはバグだらけだけど納品して文句言われるのは何故かうち
当たり前だろ
そのライブラリ選んだのはお前だろーが
ライブラリベンダのサポートあるなら、とっとと直させろよ
0275デフォルトの名無しさん
2014/08/10(日) 14:46:59.22ID:PVw8oqHlそう
それが当たり前なのになぜかサポート切れとかに拘るんだよなぁ
サポートの有無なんてうやむやにされるのに
0276デフォルトの名無しさん
2014/08/10(日) 15:26:09.68ID:zo9IFsz+ごちゃごちゃ言う前に、バグつきの納品物はよ直せや
0277デフォルトの名無しさん
2014/08/10(日) 16:30:42.93ID:Jl3CQOkd・サポートというのはバグ修正だけじゃなくて
アップデート・情報提供や問い合わせへの回答を含む
ちなみに瑕疵対応は普通利用時に契約を結んでおくもの
契約更新・保守料払ってるのなら文句言っていい
0278デフォルトの名無しさん
2014/08/10(日) 16:58:32.88ID:/SLE/gAyXPを使い続けるとこうなる系の記事でも見てこいよ
それと同じ事だから
0279デフォルトの名無しさん
2014/08/10(日) 16:59:31.57ID:38YxP+gO0280デフォルトの名無しさん
2014/08/10(日) 18:28:20.37ID:AYTb8Woz.NET戦略を進めてるMSにとってなんかメリットある?
カーネルがほどんど同じなVBAが新OSに対応し続けてるんだから
実際はCOMクライアントとしてのVB6の今バージョンを出すのは
そんなに大変じゃなさそうよね
0281デフォルトの名無しさん
2014/08/10(日) 18:36:20.72ID:O6NxgjEgいまだにVB6にしがみついてる人には分からないだろうけど、
MSにとってじゃなくて開発者側にメリットがあるんだよ。
0282デフォルトの名無しさん
2014/08/10(日) 20:19:01.00ID:tSunEVjrそれは建前
同じUIで移行したらもっさり過ぎてその対策に工数取られたぞ
0283デフォルトの名無しさん
2014/08/10(日) 20:38:26.63ID:VgocPGqd0284デフォルトの名無しさん
2014/08/10(日) 20:58:17.59ID:yPG31S/xIf Len(File1.Path) = 3 Then
f$ = File1.Path + File1.List(ix%)
Else
f$ = File1.Path + "\" + File1.List(ix%)
End If
0285デフォルトの名無しさん
2014/08/10(日) 21:17:49.20ID:38YxP+gO0286デフォルトの名無しさん
2014/08/10(日) 21:41:50.84ID:AYTb8Wozいや、俺はC#メインでどっちかっていうと布教してる側だけど
今の所儲かってないMSがやるメリットがないでしょっていう話。
夏休みの学生さんですか
0287デフォルトの名無しさん
2014/08/10(日) 22:51:24.86ID:TGJtyUM2ビジネスの基本は、ユーザーの需要にこたえること。
提供している製品やサービスが直接利益を産むとは限らない。
TV局は番組を直接販売してるの?
GoogleはAndroid OSを無料で提供してるけど?
お子様はどっちだよ。
馬鹿じゃないの。
0288デフォルトの名無しさん
2014/08/10(日) 23:28:53.26ID:SkkTdbxn開発者を集めるのも、MSの利益につながる
なぜなら、味方が増えると、
その味方がMSをつぶさないように運動するから、
自然と有利になっていく
関係者とWinWinの関係になるので、
利益によるつながりは、まあまあ強い
アサヒのスーパードライがそれ
販売業者に利益が多いので、自然と取扱いが多くなって成功した
MBA・中小企業診断士を勉強して、
より大きなシステムに、無料の部品を組み込んでもうける、
ビジネスモデルを開発して
0289デフォルトの名無しさん
2014/08/11(月) 00:10:13.90ID:YkIMsKuQユーザーの欲しがるものをホイホイ出すのがビジネスなの?
ユーザーも気がついてないのを出す(需要を作る)のがビジネスじゃないの
iPhoneが出たときって酷評されてたし。
スポンサー相手の商売してて広告費がネットに抜かれたテレビ局と
需要のあるReaderをバッサリ切り捨てたGoogleはこの文脈ではおかしいような...
VB.NETを作るんじゃなくてVB6の構文でMSIL吐けるようにするのは無理だったのかなあ
昔のラーニングエディションとかと違って
無料のExpressでも十分商用に耐えうるし
ボタンをポトペタしたあと巷のコードコピペすれば
そこそこの物を作れるFormsは健在だからVB6プログラマは
移行しやすいと思うけどなあ。
DataGridVIewが高機能なお陰で
市販コンポーネント買わなくてもいいのはデカい。
あとは帳票がなんとかなればなあ
0290デフォルトの名無しさん
2014/08/11(月) 00:24:00.26ID:3x17zKlkネイティブコンポーネントの扱いとかどうなるんだろ
0291デフォルトの名無しさん
2014/08/11(月) 00:29:02.99ID:8tAQjXl2何が言いたいのかさっぱりわからない。
VB6の構文で?そんなのいらない。
2003の時点ですら、一旦VB.NETかC#に移行したらもうVB6には戻る気がしなかった。
このスレにも過去何度も貼られているわんくまの人が言ってる通り、
あれこれ理由を付けてVB6に固執する人は、実はVB6も本当は使いこなせてない人だと思う。
0292デフォルトの名無しさん
2014/08/11(月) 00:33:57.79ID:3x17zKlk新規開発はともかく過去の遺物をそのまんま再利用できたら素晴らしいやん
0293桃白白 ◆9Jro6YFwm650
2014/08/11(月) 00:42:01.03ID:FbrqxMgI>あれこれ理由を付けてVB6に固執する人は、実はVB6も本当は使いこなせてない人だと思う。
これはこれで極論だと思う。誰なの?桃白白ちょっと説教してくるよ。
0294デフォルトの名無しさん
2014/08/11(月) 00:42:06.30ID:oaxRFEAA0295デフォルトの名無しさん
2014/08/11(月) 01:05:00.41ID:YkIMsKuQいや、おれは.NET推進派なんだけど
2003の時点から使ってるならVB6からの移行ウィザードのクソっぷり知ってるだろ。
コードを書き換えるんじゃなくて
コードはそのままで動く環境がユーザーとしては
とりあえずあの時点で一番必要だったはずなんだ。
おいおいVB.NETらしいものに書き換えるとしても。
そりゃあそれを機会に書き直せばいい物ができるだろうけど
そこに投資できない所も多いし技術者の数も揃わない。
あなたが戻る気がしないのは機能的なものや先進性かもしれないけど
そこまで素晴らしいものが必要のないユーザーも多い
この人の言うこともわからんでもない
http://social.msdn.microsoft.com/Forums/vstudio/ja-JP/ab5f7e16-dc53-43b7-9dfd-af14698b1fe6/vb6vb2008-?forum=vbgeneralja
MSとしては移行需要つくってやったぜみたいなところもあるかもしれんが
だったらアップルみたいにVistaからはVB6意図的に動かなくするとかすればよかったのに
0296デフォルトの名無しさん
2014/08/11(月) 01:26:11.50ID:MeCRvLwR「移行需要」だの語るに落ちてる。
一言で言えばアホかと。
一生青春してろよ。
0297デフォルトの名無しさん
2014/08/11(月) 01:50:50.75ID:YkIMsKuQそういうあなたは
もうVB6の死亡宣告が出されてから15年近く経ってるのに
なんでこんなスレを読んでレスまでしてるの?
同族嫌悪かな
0298デフォルトの名無しさん
2014/08/11(月) 06:46:43.94ID:63aliZJh学生さん?
企業だと明確な理由もなしにホイホイ移れないんだよ。
お客さんの都合もあったりするしね。
0299デフォルトの名無しさん
2014/08/11(月) 09:43:36.40ID:5LFwGVslPC-9801とかで動いてる上にCPUどころかクロックだけでも変わるとタイミング取れなくなって動かなくなるイヤなシステムで置き換えるとアホみたいに金かかるとか
そういう…
0300デフォルトの名無しさん
2014/08/11(月) 09:47:36.26ID:Q0ffYC3B0301デフォルトの名無しさん
2014/08/11(月) 18:01:09.94ID:9vJJ4+pvプログラマ板の話してるし
0302デフォルトの名無しさん
2014/08/11(月) 21:18:36.16ID:ippTJbIa> 企業だと明確な理由もなしにホイホイ移れないんだよ。
それじゃ説明になってないだろ。
サポートが終了するのは、明確な理由にはならないんだよ。
こうでしょ?
0303デフォルトの名無しさん
2014/08/13(水) 08:41:30.67ID:GcxYvdY+お客さんが納得する理由じゃないってだけだ。
「そうですか〜サポートが切れるんですかぁ、じゃあすぐサポートがちゃんとしてる
ものに切り替えて下さいね、費用?うちは仕様変更や機能追加はお願いしてません
から、年間保守料の範囲ですよね?当然」
0304デフォルトの名無しさん
2014/08/13(水) 09:42:33.54ID:MVRQguVPサブセットぐらいなら簡単に作れるような製品しか扱ったことがない僕
0305デフォルトの名無しさん
2014/08/14(木) 23:27:02.00ID:7jQjdkmlVBのバージョン:6.0
サービスパックのバージョン:SP6
すごい初歩的な質問かもしれないんですが分からなかったのでお願いします
Text1という名前のテキストボックスがあって空かもしくは0以下か65535以上の場合
という条件を付けたいんですが型が一致しませんというエラーが出てしまいます
If Text1.Text = "" Or Text1.Text <= 0 Or Text1.Text >= 65535 Then
0306デフォルトの名無しさん
2014/08/14(木) 23:38:38.80ID:Vf/hkzp9Text1.Text は文字列なので、数字が書いてあっても文字だから
If Text1.Text = "" Or Val(Text1.Text) <= 0 Or Val(Text1.Text) >= 65535 Then
じゃなかろーか。
0307デフォルトの名無しさん
2014/08/14(木) 23:44:05.83ID:wROGfWf+しておいた方がいいと思う
0308デフォルトの名無しさん
2014/08/14(木) 23:49:16.23ID:mP75ikG70309デフォルトの名無しさん
2014/08/14(木) 23:57:35.08ID:pQnmwC1w0310デフォルトの名無しさん
2014/08/14(木) 23:58:28.70ID:pQnmwC1w0311デフォルトの名無しさん
2014/08/15(金) 00:01:01.24ID:2Sjzb77yどうもありがとうございました!
助かりました
0312デフォルトの名無しさん
2014/08/15(金) 00:27:07.83ID:wT2TJBaG0313デフォルトの名無しさん
2014/08/15(金) 00:44:10.78ID:9Au/QACl0314デフォルトの名無しさん
2014/08/15(金) 21:36:25.66ID:ciT38lqo0315デフォルトの名無しさん
2014/08/18(月) 20:24:18.68ID:tUMgI2vR0316デフォルトの名無しさん
2014/08/18(月) 20:37:32.45ID:IPiH7YvPWend
0317デフォルトの名無しさん
2014/08/23(土) 02:18:48.86ID:jh8yRGUv0318デフォルトの名無しさん
2014/08/23(土) 17:38:07.76ID:VzEIcDK4リリースされてから行う。
0319デフォルトの名無しさん
2014/08/23(土) 21:04:56.54ID:AZUadfYz0320デフォルトの名無しさん
2014/08/23(土) 22:27:36.34ID:/2UCS/A10321デフォルトの名無しさん
2014/08/23(土) 23:25:24.39ID:AZUadfYzサンクス
8.1は試して無いが
さすがに9ではIDEは無理っぽいよな
7を末永く使うことに
0322デフォルトの名無しさん
2014/08/24(日) 00:34:45.05ID:St0fghSm次の面接通ればVBで保険系の仕事になるかもしれんのだが
VB関連の初心者用の本あったら教えてくれんか?
ついでにサイトも
0323デフォルトの名無しさん
2014/08/24(日) 00:43:00.63ID:0VnzUyhjお勧めを教えてほしいってことか?
0324デフォルトの名無しさん
2014/08/24(日) 00:57:39.84ID:St0fghSmそんな感じ
自分が初心者時代このサイトとか書籍使ってたーってのあったら知りたい
自分VBAは経験あるんだがいきなり大規模システムに関わりそうなんで不安なんだ…
0325デフォルトの名無しさん
2014/08/24(日) 01:24:22.98ID:v7AyIdy60326デフォルトの名無しさん
2014/08/24(日) 01:38:41.30ID:St0fghSmみたい
知っているのは保険関係のシステム
ASPを使う(ASPって何?)
前任者はもういない
VBで構築されている
0327デフォルトの名無しさん
2014/08/24(日) 01:39:07.90ID:v7AyIdy60328デフォルトの名無しさん
2014/08/24(日) 01:42:21.05ID:St0fghSmそうなんだ(無知)
どう違うんだ?(切実)
0329デフォルトの名無しさん
2014/08/24(日) 01:46:05.23ID:v7AyIdy6VBよりさらに大規模には不向き
0330デフォルトの名無しさん
2014/08/24(日) 01:53:29.01ID:St0fghSmあと>>329の人ありがと
明日からVBの勉強しようと思っていたのに最初っからズレるところだった…
VBScriptってどんなものか知っている人いたら教えてくれないか?prz
0331デフォルトの名無しさん
2014/08/24(日) 02:00:24.74ID:v7AyIdy60332デフォルトの名無しさん
2014/08/24(日) 02:03:39.53ID:v7AyIdy60333デフォルトの名無しさん
2014/08/24(日) 02:09:35.76ID:St0fghSm了解です
そっち方面も勉強してみる
度々ありがとうございます
…面接通らない気がしてきたw
0334デフォルトの名無しさん
2014/08/24(日) 02:30:19.73ID:0VnzUyhj0335デフォルトの名無しさん
2014/08/24(日) 03:39:57.62ID:xqGwHcS8バイトテロ知らんの?
0336デフォルトの名無しさん
2014/08/24(日) 06:30:55.74ID:cqemEsHJクライアント規模で行けば、VBでクラサバでシステム作るより
大規模環境でもいけますよ、Webアプリなんで
>>330
VBScript自体はVBAからさらにいろんなものを省いたもの
VBAできるなら新たに覚えなきゃならん文法はない
それより>>332が言うように、HTMLの最低限の知識と、WEBアプリの基本とASP独自のやり方覚えないと
しかし、未だにASPなのか
それ実はASP.NETでVB.NETだったりしないか?
0337デフォルトの名無しさん
2014/08/24(日) 10:10:48.89ID:St0fghSm正直こっちが正確な情報を知りたいw
今回の面接、面接の担当官と現場担当の二回あって
どうも情報があんまり通ってないみたいなんだよね…
次の面接ではそこ徹底的に聞かんといかんな……
多分普通の日本人なら知ってるレベルの会社だから
簡単には改装できないんじゃないかな?
イントラのところで未だにWin2000を使っている見たことあるし
0338デフォルトの名無しさん
2014/08/24(日) 10:48:15.03ID:MvgqmK5+なんか俺はお前の事を知っている気がする
0339デフォルトの名無しさん
2014/08/24(日) 12:40:02.33ID:St0fghSmそか、この懸案を知っているのは4人ぐらいしかいないから
知り合いだったらこっちも情報を絞り込めるでw
0340デフォルトの名無しさん
2014/08/24(日) 13:12:42.96ID:Mh11Tb7Vぶっちゃけ高い書籍(絶版が多くてぼったくられる)を読むほどの勉強は必要ない
入門サイトをざっと詰め込んだら後は開発環境のヘルプとGoogle調べるだけで間に会う
VB.NETで共通部品をCIL形式で作ってASP.NET(HTML+VB.NET)から利用してWebサイトを構築するのとやり方は似てるね
VB6で共通部品をCOMコンポーネント形式で作ってASP(HTML+VBS)から利用してWebサイトを構築するのが主な流れ
最も苦労する所は前任のバカが作ったスパゲティを解析する作業だろうね
VB6は書くのは楽でも読むのは辛い言語だから
0341デフォルトの名無しさん
2014/08/24(日) 13:15:22.09ID:v7AyIdy6どんな言語でも一人で作るなら楽ちん。
0342デフォルトの名無しさん
2014/08/24(日) 13:34:48.49ID:1q09/homだめじゃんw
書くのなんてむしろどうでもいい。
重要なのは可読性。
なぜなら、書くのは一回で済むし、
コピペすれば、ほぼ書かなくても良くなる。
だけど、修正するときは読まないといけない。
プログラムの開発は読むことのほうが多い。
コピペなんかされたら、読む量が爆発的に増える。
0343デフォルトの名無しさん
2014/08/24(日) 14:36:18.19ID:bq22hvMp0344デフォルトの名無しさん
2014/08/24(日) 14:50:06.21ID:Mh11Tb7Vコピペは流石にやらないけどコード生成はよくやるわ
あれはジェネレータを持ってない人が保守する時に悲惨な目にあうんだよね
0345デフォルトの名無しさん
2014/08/24(日) 15:49:33.60ID:1q09/hom生成した部分は触らないのが鉄則。
だから触らないで保守できるような設計に
ジェネレーターはしないといけない。
そうでないと単なるコピペ製造ツールでしかない。
0346デフォルトの名無しさん
2014/08/25(月) 08:40:54.94ID:TlKlYY/Zお前その4人間以外にも話してるじゃん
0347デフォルトの名無しさん
2014/08/26(火) 23:51:14.33ID:PcXdIX47ネット使えない開発現場ってどうすればいいんでしょうか?
本は買って持っていくつもりですけど
なにかこれだけは持っていけってありますか?
0348デフォルトの名無しさん
2014/08/26(火) 23:56:50.81ID:MPqnbV8Vようするに、調べ物がネットで出来ない、ってはなしか?
言語にしろCPUにしろ、ネットで調べそうな情報は全部落としてきてUSBメモリにでも入れておく
開発している対象の資料も全て入れておく
ネットがつながる環境がピンポイントでもあることにも賭けて携帯端末も詰め込んでいく
電話がかけられるならリモート調べものしてくれる誰かをキープしておく
開発環境の最終アップデートをかけたもののクローンを用意しておく
そんな話?
0349デフォルトの名無しさん
2014/08/26(火) 23:58:37.78ID:PukCCIuXつらたん。
タブレット持ち込みもダメなの?
0350デフォルトの名無しさん
2014/08/26(火) 23:58:42.30ID:MDxBzSYY0351デフォルトの名無しさん
2014/08/27(水) 00:00:44.68ID:EIqDBw0yそんな話です。どうも
USBメモリは使った時点で首で携帯はトイレの中以外は見れなさそうな感じです。
…ネット使えないのはきついけどがんばろう
0352デフォルトの名無しさん
2014/08/27(水) 00:04:05.78ID:EIqDBw0yタブレットか…
一応聞いてみます。ありがと
0353デフォルトの名無しさん
2014/08/27(水) 00:04:26.03ID:ca9UWwTQ0354デフォルトの名無しさん
2014/08/27(水) 03:37:41.99ID:WVBb8eJH0355デフォルトの名無しさん
2014/08/27(水) 20:20:32.73ID:SuVMwAILもしもそうでないとすれば、その現場でネットを使えないことが自体が間違っている。
0356デフォルトの名無しさん
2014/08/27(水) 21:27:20.07ID:KL0wurV3間違ってる現場なんていくらでもあるし
0357デフォルトの名無しさん
2014/08/27(水) 21:28:56.39ID:CQz01kqo0358デフォルトの名無しさん
2014/08/27(水) 21:33:50.68ID:SuVMwAILそれは管理者が無知だからだ。管理責任から逃れる為に、とにかく遮蔽すれば
いいと考えるような勉強しない管理者の責任だ。
0359デフォルトの名無しさん
2014/08/27(水) 21:59:19.67ID:3o0iprUr残念ながら、ネットに頼らなくてもプログラムできるプログラマーが足りてないんです
だからって管理者がそれを理由にセキュリティ要件は下げられないんですよ
0360デフォルトの名無しさん
2014/08/27(水) 22:06:07.48ID:SuVMwAIL開発に必要なもの、の中には物やモノや者も入ってる。
者が足りないならプロジェクトリーダーが無能なのだ。
0361デフォルトの名無しさん
2014/08/27(水) 22:35:26.66ID:j7X/JcPXだから?
誰かの責任にしても、何も解決しないぞよ。
0362デフォルトの名無しさん
2014/08/27(水) 22:46:10.32ID:YlHm9xBLだからそれが答え。
理想をすべて満たしていることを
前提するやり方では
「解決しない」
0363デフォルトの名無しさん
2014/08/27(水) 22:52:01.04ID:YlHm9xBL・管理者の問題
これも問題点だ。
だから管理者を改善する。これも問題を改善する方法の一つだ。
それが現実的かどうかは後で考える。
いくつか改善策を出して比較する。
まずは問題点を洗い出すことが大事だ。誰かのせいにするって話じゃない。
問題になっているならば、それをしっかり問題点だと認識する必要がある。
0364デフォルトの名無しさん
2014/08/27(水) 23:09:02.33ID:j7X/JcPXで、どうするんだ? (w
お前の言ってることぐらいは、大抵わかってる。
その先の解がないから困ってるんだよ。
0365デフォルトの名無しさん
2014/08/27(水) 23:18:26.66ID:vxFwWuw80366デフォルトの名無しさん
2014/08/27(水) 23:32:31.96ID:YlHm9xBLその先は、時と場合によって変わる。
人によっては転職するも答えだろう。
0367デフォルトの名無しさん
2014/08/27(水) 23:43:24.95ID:j7X/JcPX0368デフォルトの名無しさん
2014/08/28(木) 16:55:47.48ID:Rc8dG0V20369デフォルトの名無しさん
2014/08/28(木) 17:55:01.85ID:1btoGk/30370デフォルトの名無しさん
2014/08/28(木) 20:01:05.49ID:vUKaTuTG問題があるんだねw
仕事である以上最終的な成果物がすべてなんだから、
「今時プログラミングに必要はすべてが頭に入っている人はいないので、
WEBで調べものをしながらプログラミングするのが常識です。
WEBが使えないと確かにリスクは減るかもしれませんが、申し訳ないですが仕事の効率は
大幅に落ちることになります。それでも構いませんか?」
とか何とか言えば余程のバカじゃなきゃ許可出すだろう。
それでもゴネるなら、だったら開発用とは別に調べもの専用のWEBにつながった
PCを用意してくれとか、いい歳こいてるのにそのぐらいの交渉できなくてどうすんの。
0371デフォルトの名無しさん
2014/08/28(木) 20:12:18.83ID:iLZyX0zb頭の程度は関係無くケースバイケースだろうが、普通許可でないだろ
想像で言ってる?
0372デフォルトの名無しさん
2014/08/28(木) 20:32:05.22ID:j5jqrXPcWindows9のプレビュー版出る直前で
どうしようか迷ってる。
Windows9でもVB6で作り上げたEXE動くん?
もちろん綺麗な作法のEXEという前提で何だけど。
0373デフォルトの名無しさん
2014/08/28(木) 20:36:10.36ID:MZewrUTrそういうのは自分のブログでやってください
そんな事も分からないとは性格だけじゃなくて脳にも
問題があるんだねw
0374デフォルトの名無しさん
2014/08/28(木) 20:38:26.98ID:9FDOfLGs問題があるのはそのexeがリンクするライブラリであるdllだ
vb6のランタイムライブラリであるdllがwin9と互換性があれば動くし
外部のライブラリdllを使ってるならそのdllがwin9と互換性があるかが問題だ
0375デフォルトの名無しさん
2014/08/28(木) 22:03:21.06ID:XxtALw5Xあ〜、こんかい来た人なんかごちゃごちゃ言ってて、全然仕事しないから、来週は違う人寄越してちょうだい
0376デフォルトの名無しさん
2014/08/29(金) 01:12:40.36ID:b0G4rJJs0377デフォルトの名無しさん
2014/08/29(金) 01:15:42.14ID:mPGtkQT90378デフォルトの名無しさん
2014/08/29(金) 09:24:37.16ID:7qeXFNLD何ていうかC++だろうがJavaだろうが、後から拡張に対応出来る固い仕様を決めて
何から手を付けてやれば良いか教えてくれた人は、VBでも綺麗に書いてた
0379デフォルトの名無しさん
2014/08/29(金) 11:18:15.51ID:9OWc8ATu冗長になるかならないかで設計自体は同じだからね。
0380デフォルトの名無しさん
2014/08/29(金) 16:49:56.58ID:VE8AFzLh0381デフォルトの名無しさん
2014/08/29(金) 22:41:44.23ID:b0G4rJJs0382デフォルトの名無しさん
2014/08/29(金) 22:51:01.72ID:bImJspDs0383デフォルトの名無しさん
2014/08/29(金) 23:55:23.74ID:0CK51z3b0384デフォルトの名無しさん
2014/08/31(日) 00:08:38.41ID:47nYGZE40385デフォルトの名無しさん
2014/08/31(日) 09:22:39.47ID:nLlcyFHN0386デフォルトの名無しさん
2014/08/31(日) 09:43:04.39ID:vjR2LjMT0387デフォルトの名無しさん
2014/08/31(日) 13:20:22.25ID:Zj24YvpS0388デフォルトの名無しさん
2014/08/31(日) 21:03:04.86ID:9hGKJm1M0389デフォルトの名無しさん
2014/08/31(日) 21:20:09.85ID:fFHXuzxLランタイムは仕方ないにしてもコンパイラの需要はあるよね
0390デフォルトの名無しさん
2014/08/31(日) 21:53:30.97ID:ORDwa/D00391デフォルトの名無しさん
2014/08/31(日) 22:46:35.99ID:fFHXuzxL0392デフォルトの名無しさん
2014/09/01(月) 00:40:21.91ID:kbe3TIwPなにそのショッピングモールみたいな単語
0393デフォルトの名無しさん
2014/09/01(月) 08:20:00.40ID:OKWJdOVr0394デフォルトの名無しさん
2014/09/01(月) 13:22:57.70ID:eGAF+UsM並列処理はVB&だけじゃ書けないっしょ?
DLLなりActiveXなりでスレッド起こさないと。
0395デフォルトの名無しさん
2014/09/01(月) 13:23:33.24ID:eGAF+UsMVB& → VB6
0396デフォルトの名無しさん
2014/09/01(月) 13:26:39.31ID:gfXsuRkr0397デフォルトの名無しさん
2014/09/01(月) 14:16:44.93ID:bxrlea0J0398デフォルトの名無しさん
2014/09/01(月) 14:22:38.29ID:VOxXOeqr0399デフォルトの名無しさん
2014/09/01(月) 15:23:17.59ID:EB1be6UG0400デフォルトの名無しさん
2014/09/01(月) 15:40:03.29ID:VOxXOeqr溜まっているメッセージを処理する、だから。スレッドとか割り込みとかVBでは関係ない(関係できない)。
0401デフォルトの名無しさん
2014/09/01(月) 16:39:24.95ID:tft5m3BW割り込むんだからイメージとしては割り込みで間違ってないよ。
そのイメージで言うとDoEventsは割り込み許可フラグをONにする感じだね。
0402デフォルトの名無しさん
2014/09/01(月) 17:32:26.29ID:eGAF+UsMそれなりに並列処理的な事はできまっせー。
でいんじゃないか?VB6としては。どうしてもスレッドって処理じゃなければ
なんとかなるよ。特にVB6で作る感じの普通のウィンドウアプリなら。
0403デフォルトの名無しさん
2014/09/01(月) 18:27:13.01ID:VOxXOeqr0404デフォルトの名無しさん
2014/09/01(月) 18:30:39.99ID:cKxYpRFq別に割り込まないよな
0405デフォルトの名無しさん
2014/09/01(月) 18:53:13.50ID:gfXsuRkrSelect Caseで毎回1行動したら抜けてくるような処理を書いたタイマーをタスクにしたい分だけ並べてしまえ
0406デフォルトの名無しさん
2014/09/01(月) 19:06:26.88ID:RldIr0J2mk:@MSITStore:C:\Program%20Files\Microsoft%20Visual%20Studio\MSDN98\98VS\1041\vbenlr98.chm::/html/vafctDoEvents.htm
> DoEvents 関数は、オペレーティング システムに制御を渡します。
> オペレーティング システムがキュー (処理の待ち行列) に入っているイベントの処理を終了し、SendKeys ステートメントのキューに入っているすべてのキー入力が送られるまで制御は戻りません。
>
> DoEvents 関数は、ファイルの検索などで処理が開始された後で、ユーザーがキャンセルできるようにするときに役立ちます。
> 処理の実行が長い場合、処理プログラムで行う方が、タイマーを使ったり、ActiveX コンポーネントにタスクを渡すよりよい方法です。
> 後の場合、アプリケーションから独立させてタスクを続行できます。
> そしてオペレーティング システムでは、マルチタスクと時間分割を利用します。
>
> 注意 イベント プロシージャから一時的な処理が発生するときは、最初に呼び出した処理から制御が戻ってくるまでは、プロシージャがプログラムの別の場所で実行されることがないように注意する必要があります。
> 別の場所で実行された場合、結果は予測できません。
> また、制御をオペレーティング システムに渡している間、他のアプリケーションが、確認できない方法でプロシージャとやり取りを行う可能性があるときは、DoEvents 関数は使わないでください。
0407デフォルトの名無しさん
2014/09/01(月) 20:55:09.59ID:2GXB3w060408デフォルトの名無しさん
2014/09/01(月) 21:40:33.62ID:PwiZVl7Xいや割り込んでるの。
何がそうだよねーだよ馬鹿じゃないの。
0409デフォルトの名無しさん
2014/09/01(月) 21:52:34.37ID:ve16hqx80410デフォルトの名無しさん
2014/09/01(月) 21:53:56.86ID:ve16hqx8> Visual Basic 6.0 とは異なり、DoEvents メソッドは、Thread.Sleep メソッドを呼び出しません。
VB6ではThread.Sleepを内部で呼んでるようだな
0411デフォルトの名無しさん
2014/09/01(月) 22:50:39.57ID:yIVXYNme>>400に書いてあるまんまだよ
知ったところで怖いのには変わりないけどね
0412デフォルトの名無しさん
2014/09/02(火) 15:58:47.41ID:EQrkrul90413デフォルトの名無しさん
2014/09/02(火) 16:00:46.13ID:sRn9xhRV0414デフォルトの名無しさん
2014/09/02(火) 16:08:29.84ID:EQrkrul90415デフォルトの名無しさん
2014/09/02(火) 16:10:49.76ID:sRn9xhRV0416デフォルトの名無しさん
2014/09/02(火) 16:29:28.76ID:EQrkrul90417デフォルトの名無しさん
2014/09/02(火) 16:30:42.78ID:ja7HZQJ9なぜなら、覚えることが多い=覚えることで書くことが減る。
覚えることが少ない=自分で書かないといけない部分が多くなる。
だから。
つまり覚えないならば、どんどん君の仕事は大変になるということさ
アハハハハ
0418デフォルトの名無しさん
2014/09/02(火) 16:34:21.73ID:wyGNvL2Fアセンブリ言語
覚える命令語が少ない
0419デフォルトの名無しさん
2014/09/02(火) 16:37:09.33ID:sRn9xhRVだったら求人で多い言語を覚えるほうが幸せだろ
0420デフォルトの名無しさん
2014/09/02(火) 16:51:38.57ID:EQrkrul9ワンチップ系なら書けます。
>>419
VB6で作成してきたアプリを新しい言語に移植する作業が優先で仕事量も多く、
言語は指定されていませんので、今まで蓄積したものを出来るだけ活かせる言語が良いのです。
0421デフォルトの名無しさん
2014/09/02(火) 17:22:41.00ID:d+KX6FFEそういう事ならVB.NETだな。
つってもVB6とVB.NETは見た目が似てるだけで全然違う言語だからな。
VB6から覚えることの量はVB.NETもC#もJavaもそないに変わらんと思うよ。
ただ、見た目が似てる=コピペがしやすって事なんで移植にかかる
時間は短縮は出来るよ。
例えばVB6でこんな処理があったとして、
Dim aaa As Integer
Dim bbb As Integer
〜〜なにか処理〜〜
If aaa = 0 Then
bbb = aaa * 10
End If
VB.NETだと、Integerのサイズが16バイト→32バイトになったのに気つける
ぐらいでコードはそのままコピペでいける。
でもこれを例えばC#で書くと
Int aaa;
Int bbb;
〜〜なにか処理〜〜
If ( aaa == 0 ) {
bbb = aaa * 10;
}
て書かなきゃダメだからめんどくさいね。
0422デフォルトの名無しさん
2014/09/02(火) 17:36:27.17ID:EQrkrul9丁寧にありがとうございます。
.NETは文法的にはCとVBの中間って感じですね。
VB.NETで検索してみましたがマイクロソフトの製品ページが見つからないのですが、Visualstudioの中に入ってるのでしょうか?
最新のVisualstudioにはC##しか見つからず、何が何やら分からなくて。
0423デフォルトの名無しさん
2014/09/02(火) 17:42:16.74ID:8Y7c5T8U.NETは言語じゃない
C##なんて言語はしらない
仕事なら何の言語覚えるかは上司に相談しろよ
0424デフォルトの名無しさん
2014/09/02(火) 17:49:04.95ID:EQrkrul9すいません、Visualstudioだけでいろいろあって何がどんな内容で何を選べばよいのかすら分かりません。
今、一般に流通している最新版はVisualstudio2013のようなので、もう少し調べてからまた質問させてもらいます。
0425デフォルトの名無しさん
2014/09/02(火) 17:51:09.99ID:u6fozIjvいや最新の開発環境についてなら、このスレで質問してはいけない
0426デフォルトの名無しさん
2014/09/02(火) 17:52:37.09ID:sRn9xhRVVisualStudio2013も別スレ
VB.NET質問スレ(Part41)
http://peace.2ch.net/test/read.cgi/tech/1391334405/
Visual Studio 2013 part4
http://peace.2ch.net/test/read.cgi/tech/1404333757/
0427デフォルトの名無しさん
2014/09/02(火) 17:54:38.49ID:sRn9xhRV0428デフォルトの名無しさん
2014/09/02(火) 21:08:59.47ID:HussnK53しかし俺はそんな事しない。
0429デフォルトの名無しさん
2014/09/03(水) 03:25:57.05ID:7inNPD4ZDelphi高すぎだろw
しかもあんな閉鎖的な言語
誰が使うっていうんだ?
0430デフォルトの名無しさん
2014/09/03(水) 03:38:10.20ID:Bk50IRfNttp://www.embarcadero.com/images/jp/dm/products/delphi-xe7-feature-matrix-jp.pdf
ttp://docwiki.embarcadero.com/RADStudio/XE7/ja/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8
0431デフォルトの名無しさん
2014/09/03(水) 03:49:32.21ID:7inNPD4Z将来どころか、現時点で終わってる言語だから
0432デフォルトの名無しさん
2014/09/03(水) 03:53:35.51ID:7inNPD4Z価格を見てみると
http://www.seshop.com/special/embarcadero/delphi
これが仕事で使える最低金額
http://www.seshop.com/product/detail/17240/
¥104,000(税抜)
※モバイル開発機能を含まない
モバイル対応するなら更に跳ね上がる。
http://www.seshop.com/product/detail/17242/
¥258,000(税抜)
0433デフォルトの名無しさん
2014/09/03(水) 05:33:30.70ID:2ANinLsJhttp://www.publickey1.jp/blog/14/xe7.html
プラットフォームごとに人人を雇うなら検討できる価格だよな
Visual Studioの高いエディションに比べたら安いし
しかし求められるのは
Compiler Framework使ってVB.NETでVB6コンパイラを作る酔狂なやつだ!
0434デフォルトの名無しさん
2014/09/03(水) 06:14:59.42ID:Bk50IRfNネタバレが速すぎるよ!
0435デフォルトの名無しさん
2014/09/03(水) 07:41:18.85ID:BZYkohyr0436Delphi使いだけど
2014/09/03(水) 10:39:44.88ID:Ft8KwrwF普通に情報量が多くて落とし穴の少ないC#でいいんじゃね?VB.netは言語的にも案件的にも
ダメダメな話しかきかねぇなぁ。
0437デフォルトの名無しさん
2014/09/03(水) 11:34:58.60ID:DLAxkqPSVB.Netの言語的にダメダメな点について詳しく
0438デフォルトの名無しさん
2014/09/03(水) 11:48:29.22ID:bEJrUZ0m> VB.netは言語的にも案件的にもダメダメな話しかきかねぇなぁ。
別に言語的にダメダメとは思わない、できることは C# とたいして遜色ないし。
でも、下手に MS が頑張ったお陰で VB6 しかできない子には難しい言語で、C# できる子には敢えて選択する意味のない言語になっちゃったのは否めない。
0439デフォルトの名無しさん
2014/09/03(水) 12:36:41.47ID:HsfQcoulVB.Netという選択自体がネガティブなものしか含まないから
0440デフォルトの名無しさん
2014/09/03(水) 12:40:13.07ID:ekTu9Izi0441デフォルトの名無しさん
2014/09/03(水) 12:50:50.39ID:IC/yewex2008以降はラムダ式の冗長さだけでもVBを捨ててC#にする理由になりうる。
0442デフォルトの名無しさん
2014/09/03(水) 12:57:12.69ID:SlDIUC8t0443デフォルトの名無しさん
2014/09/03(水) 13:50:12.14ID:cW5v+eGV○ 俺にはメリットが理解できない
0444デフォルトの名無しさん
2014/09/03(水) 14:45:34.06ID:SlDIUC8tメリットは理解してるけど、そのメリットを享受できる状況に出会ったことがないだけなんだけどね。
0445デフォルトの名無しさん
2014/09/03(水) 15:10:53.09ID:cW5v+eGV○ラムダ式を使いこなせない
0446デフォルトの名無しさん
2014/09/03(水) 15:16:35.22ID:2W0yNF6k「使いこなせる」ようになれば「状況に出会える」はずであろうし、そういう状況に実際に出くわしているであろうから
それを説明してみてはどうでしょうか
0447デフォルトの名無しさん
2014/09/03(水) 15:33:05.33ID:NhBgxM40もうラムダ式を使わないプログラミングはありえないね。
そのぐらい頻繁かつ当たり前に使う。
今時ラムダ式の必要性が分からないなんて言ってる奴は話にならない。
0448デフォルトの名無しさん
2014/09/03(水) 15:34:37.37ID:cW5v+eGVそれ俺に言ってるの?
ID:SlDIUC8tは、新しいことがもう頭に入らないじじいだろ。多分LINQも理解できないと思う。
「オブジェクト指向なんてあってもうれしいわけじゃないし、なくても困らないし、そんなものに頼ってちゃいかんよ。」
とかいうじじいと同じ。
0449デフォルトの名無しさん
2014/09/03(水) 16:26:11.81ID:SlDIUC8t0450デフォルトの名無しさん
2014/09/08(月) 16:32:47.10ID:ndMr36Oi今更ながらctrl+spaceで補完が出ること知った
0451デフォルトの名無しさん
2014/09/08(月) 16:35:57.91ID:ndMr36Oi補完機能はWin7のマシンに乗り換えてから使い始めたフリーのテキストエディタやEclipseやVS2010で初めて使い始めたが
まさかVB6のIDEにも補完機能があるとは知らなかった
0452デフォルトの名無しさん
2014/09/08(月) 16:37:47.94ID:ndMr36Oi0453デフォルトの名無しさん
2014/09/08(月) 16:39:47.78ID:ndMr36Oi0454デフォルトの名無しさん
2014/09/08(月) 23:24:28.42ID:WRBqI71eVBがMSのIDEで一番最初に自動補完を搭載したらしいよ。
http://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%B3%E3%83%86%E3%83%AA%E3%82%BB%E3%83%B3%E3%82%B9
> インテリセンス (Intellisense) は、Microsoft Visual Studio の統合開発環境で使用されている、マイクロソフトによる自動補完システム。
> インテリセンスが初めて登場したのは、1996年にマイクロソフトの主力製品として
> 販売されたVisual Basic 5.0 Control Creation Edition
> (実質的に公的に入手可能なVisual Basic 5.0のプロトタイプ)の一機能としてである。
0455デフォルトの名無しさん
2014/09/09(火) 09:24:32.78ID:bbe6EelQ0456デフォルトの名無しさん
2014/09/14(日) 01:48:26.98ID:kn6kIRd5見た目似てるだけで完全にミスマッチだよね
0457デフォルトの名無しさん
2014/09/14(日) 01:51:34.53ID:hXoVPBM+VB6と大差ない
0458デフォルトの名無しさん
2014/09/14(日) 02:11:08.42ID:6XmDMWYIなまじ文法を似せるから悲劇が
0459デフォルトの名無しさん
2014/09/14(日) 05:42:23.94ID:a/rqPd2yそれはツールじゃなくてプログラマの問題だよ。
変換は既存のものを置き換えるだけ。
だからといって人間が変換したのと
同じようなコードを書く必要はない。
0460デフォルトの名無しさん
2014/09/15(月) 00:05:32.20ID:NXex5JUX自動変換したのを見て457みたいに考えて
変換したのと同じようなコードを書く人が沢山いたんです。
まあJavaから流れてきた人のC#もそんな感じでしたが
文字列関連はVB6を引きずってるVB.NETのほうが便利かも
0461デフォルトの名無しさん
2014/09/15(月) 00:22:42.11ID:456ECQ0Nだから人の問題だろ?
COBOLやってる人がCOBOLのやり方で
他の言語を使うのと一緒。
ある言語を使ってる人が、別の言語を使う時
あれがない〜とかぶつくさ文句言うのも同じ。
言語を変えたら、その言語に適した書き方をできなければ
プログラマとして未熟。
0462デフォルトの名無しさん
2014/09/15(月) 01:56:17.33ID:75pLEfoaプログラムなんて動けば問題ないだろJK
0463デフォルトの名無しさん
2014/09/15(月) 02:41:58.82ID:NXex5JUX人の問題だという話は否定していませんよ?
でもあなたのような優秀な人ばかりで構成できるわけではないので・・・
移行先にC#を選択したプロジェクトは
プログラマが頭をリフレッシュして
VB6でやりきれなかったオブジェクト指向的なコーディングとか
.NET Frameworkを活用方法を模索してたりしてたのに
VBチームはちょろいちょろいといった感じで
VB6っぽいコードが量産されていたので
言語自体が罪作りだなと思った次第です。
0464デフォルトの名無しさん
2014/09/15(月) 02:59:02.12ID:EwZbtX7u0465デフォルトの名無しさん
2014/09/15(月) 03:02:23.54ID:nXJl5BwU0466デフォルトの名無しさん
2014/09/15(月) 04:58:28.77ID:9UWhhSIJ書き込み内容がわざとらしいんだよw
0467デフォルトの名無しさん
2014/09/15(月) 10:22:20.26ID:hyfdWrFD真面目な新規開発はC#に任せて
VB.NETはとにかくVB6ソースに手を付けずにCLRで動かすことだけを目指す
違う言語で同じ地点を目指すよりも生産的だと思います
0468デフォルトの名無しさん
2014/09/15(月) 21:36:10.33ID:4G6KibiI0469デフォルトの名無しさん
2014/09/15(月) 21:39:57.84ID:9UWhhSIJ0470デフォルトの名無しさん
2014/09/15(月) 21:48:01.75ID:umAHCw7whttp://support.microsoft.com/kb/290887/ja
このページ見て Msvbvm60.dll ってファイル名を見て思った
このファイル名に含まれる vm の文字からして vb6 って仮想マシンなん?
0471デフォルトの名無しさん
2014/09/15(月) 21:58:49.52ID:umAHCw7wどっちも酷いな
0472デフォルトの名無しさん
2014/09/15(月) 21:59:42.20ID:9UWhhSIJ0473デフォルトの名無しさん
2014/09/15(月) 22:12:38.75ID:umAHCw7wVBRJP200.DLLは関数がたったの3つしかなくブラックボックスすぎる
0474デフォルトの名無しさん
2014/09/15(月) 22:58:51.47ID:bnu8+dqqVB6が本来中間言語インタプリタだなんてすげー今更なんだが >>470
0475デフォルトの名無しさん
2014/09/15(月) 22:59:04.67ID:lVCjgFoQ0476デフォルトの名無しさん
2014/09/15(月) 23:03:37.90ID:umAHCw7w0477デフォルトの名無しさん
2014/09/16(火) 00:25:10.11ID:fJmUlCeF違ってる方が問題だわ
0478デフォルトの名無しさん
2014/09/16(火) 00:36:24.03ID:WIo7pizTどこのスレも変なのが沸いてて賑やかだわ
0479デフォルトの名無しさん
2014/09/16(火) 00:58:52.62ID:zuELja3f0480デフォルトの名無しさん
2014/09/16(火) 04:09:03.47ID:1lKEIB+1何が悪いのかさっぱりだけど?
0481デフォルトの名無しさん
2014/09/17(水) 02:26:12.21ID:BHi/gzqm0482デフォルトの名無しさん
2014/09/17(水) 02:30:43.34ID:BHi/gzqmhttps://roslyn.codeplex.com/discussions/545889
なんかダメぽいか?
0483デフォルトの名無しさん
2014/09/17(水) 05:28:21.56ID:ht3+hczyメリット
ソースコードがそのまま使える
最新の.NET Frameworkのバージョンも使える
デメリット
デバッグ等が大変
VB6ソースコードから.NET Frameworkのアセンブリを生成するコンパイラ
メリット
ソースコードがそのまま使える
デメリット
最新の.NET Frameworkのバージョンが出るたびにコンパイラを作る必要が出る
Msvbvm60.dllなどのVB6まわりのランタイムを最新のWindowsに合わせて再設計する
メリット
ソースコードがそのまま使える
VB6のIDEがそのまま使える
既存のVB6製アプリでも再コンパイルなしで使えるものも一部ある
デメリット
最新のWindowsのバージョンの仕様が変わるたびにライブラリ群を再設計する必要が出る
リバースエンジニアリングに相当するので特許などの権利問題を孕む
0484デフォルトの名無しさん
2014/09/17(水) 22:34:08.41ID:5ucMq7Sk3はインターフェースだけ従来型DLLで実装はGACで済ませられるんじゃないかな
0485デフォルトの名無しさん
2014/09/17(水) 22:39:30.04ID:q0kO1DWi欲しいのはどっちですか?
0486デフォルトの名無しさん
2014/09/18(木) 09:15:40.56ID:sZppIs7GWin7付属のランタイムで動かないことが結構あるから、
結局Vectorとかからランタイム落としてWin7に入れて使ってる。
Win9でもそれじゃだめなん?
0487デフォルトの名無しさん
2014/09/18(木) 12:29:38.72ID:0+D2RILR今のソースが 100% 同じ動作して、かつモダンな機能が欲しい
0488デフォルトの名無しさん
2014/09/18(木) 22:47:03.03ID:/ELRlOd50489デフォルトの名無しさん
2014/09/19(金) 00:32:29.94ID:DgH9TdfU東京都大田区で猫を路面にたたきつけたとして、警視庁は18日、大田区蒲田1丁目、
プログラマー久保木信也容疑者(33)を動物愛護法違反(愛護動物の殺傷)の疑いで
逮捕し、発表した。
久保木信也
http://yumeijin2ch.wpblog.jp/archives/2189
0490デフォルトの名無しさん
2014/09/19(金) 00:37:29.06ID:7/VKQkFn下手すると、成長しようとしてるし w
0491デフォルトの名無しさん
2014/09/19(金) 02:10:47.58ID:/lOvQPWO0492デフォルトの名無しさん
2014/09/23(火) 22:38:10.04ID:E1TnEKDYとりあえず、引数付きコンストラクタは実現してほしい。
0493デフォルトの名無しさん
2014/09/23(火) 22:43:40.55ID:dVimYuzk拡張に拡張を重ねて悲惨になってるJava8のようにならなければよいが
0494デフォルトの名無しさん
2014/09/23(火) 23:05:48.86ID:6vsu33UsVB.NETやC#を否定してVB6に固執する人間ほど、実はVB6も使いこなせてない。
http://blogs.wankuma.com/jeanne/archive/2006/08/02/34597.aspx
0495デフォルトの名無しさん
2014/09/23(火) 23:21:45.78ID:7K2DfiJm適当にやってそれっぽいものが手軽に作れるのがVB6の利点なのに
0496デフォルトの名無しさん
2014/09/23(火) 23:37:06.03ID:E1TnEKDY他言語のスレと比較すると、割りと低レベルなのが
VB6スレなので、そのサイトの言う事には納得できる。
0497デフォルトの名無しさん
2014/09/23(火) 23:55:35.97ID:dVimYuzkVB.NETのどこら辺がBASICの信念を体言しているというのか
0498デフォルトの名無しさん
2014/09/24(水) 01:42:43.60ID:AqYGB0E4書くスタイルだけじゃね?
0499デフォルトの名無しさん
2014/09/24(水) 02:53:02.82ID:qrkn/DsC0500デフォルトの名無しさん
2014/09/24(水) 03:28:15.99ID:F0aTw2Ip0501デフォルトの名無しさん
2014/09/24(水) 07:14:30.84ID:fN76t18K素人にも簡単に組める。
0502デフォルトの名無しさん
2014/09/24(水) 08:47:39.81ID:X4p6+nxlまた VB6 のクラス使える俺スゲー君かよ
いい加減、こいつらも滅べばいいのに
0503u
2014/09/24(水) 11:51:42.67ID:Znpi/jan光速を超えて宇宙空間を移動する「ワープ航法」の性能をもった宇宙船の設計画像を公開した。
ワープ航法を実現する宇宙船の研究は、NASAの先端推進技術研究チームを率いる物理学者のハロルド・ホワイト氏が
2010年から取り組んできた。
イメージ図は同氏の設計をもとに、アーティストのマーク・レドメーカー氏が制作した。
制作には1600時間以上を要したという。ホワイト氏はSF映画「スター・トレック」に登場する宇宙船にちなんで、
この宇宙船を「IXSエンタープライズ」と命名。
同船の設計も、1965年に描かれたスター・トレックのスケッチを参考にしている。
ホワイト氏は昨年11月に米アリゾナ州フェニックスで開かれた宇宙カンファレンスで、
この宇宙船のデザインやコンセプト、進捗状況を発表していた。
同氏によると、「宇宙ワープ」は一般相対性理論に出てくる抜け穴の法則を利用して宇宙空間を歪曲させ、
何千年もかかって到達するような超長距離を数日で移動できる航法。
この航法を採用すれば光速を超えられるようになり、速度に制限はなくなる。
0504デフォルトの名無しさん
2014/09/24(水) 12:51:53.85ID:ykwtiBTNなんだこれ
0505デフォルトの名無しさん
2014/09/24(水) 14:14:28.96ID:qzC/IE+HCもそこそこ低レベルでつかえてるとき
VBって覚えるのどのくらいかかるものなんですか?動かし方覚えるのに1ヶ月ぐらいですか?
0506デフォルトの名無しさん
2014/09/24(水) 14:22:53.24ID:ykwtiBTNそれより
いまさらVB6覚える気か?
0507デフォルトの名無しさん
2014/09/24(水) 14:36:30.62ID:qzC/IE+Hありがとう。VB6かなにかはしりませんが
VBってかいてあるんで覚えさせられるみたいでどんなものか聞いてみたんです
0508デフォルトの名無しさん
2014/09/24(水) 14:55:37.10ID:ykwtiBTNそしてここはVB6のスレなので、VB6しか話にあがらない
0509デフォルトの名無しさん
2014/09/24(水) 15:21:51.41ID:F0aTw2Ip毎年ン万円かかるMSDNのサブスクリプションとかに登録するんか?w
0510デフォルトの名無しさん
2014/09/24(水) 16:13:58.82ID:qzC/IE+H移動しますありがとう
0511デフォルトの名無しさん
2014/09/24(水) 16:15:53.19ID:HYHBSSFjC++ならともかく、オブジェクト指向の機能がない
C言語にVB6のオブジェクト指向機能を実装するのは
単なる書き方の置き換えだけじゃ無理で、
大変な作業になると思うが。
0512デフォルトの名無しさん
2014/09/24(水) 18:40:08.78ID:4awcA0eBWin95ですらまだ20年経ってないだろいい加減なこと言うな
0513デフォルトの名無しさん
2014/09/24(水) 20:49:55.62ID:ALc3yB5oMSDN 使ったことないのか?
15万ちょい払ってダウンロードすれば、その後ずっと使えるぞ。
まあ、さすがに VB6 だけだともったいないけど、評価用の OS とかもいるだろうし、真面目に開発するなら全然高くないだろ。
0514デフォルトの名無しさん
2014/09/24(水) 22:54:14.16ID:1vKhut4O本にその説明を見たことがない。上級者向けの本には書いてるんだろうか。
MSDNライブラリは、どこを探したら載ってるんだろうか。
[クエリー(U)]は、Microsoft Accessみたいなことができるんだろうか。
[ダイアグラム(T)]は何だろうな、謎だ。
0515デフォルトの名無しさん
2014/09/24(水) 23:09:40.85ID:/xh9mRDC> [ダイアグラム(T)]は何だろうな、謎だ。
クエリーから類推して、データベースデザイナーかな
https://www.microsoft.com/japan/msdn/vs_previous/vbasic/prodinfo/guide6.0/revguide1.htm
0516デフォルトの名無しさん
2014/09/25(木) 00:12:17.06ID:AMI6+bxRVB 6.0 enterprise "DIAGRAM MENU"
http://www.experts-exchange.com/Programming/Languages/Visual_Basic/Q_10098162.html
0517デフォルトの名無しさん
2014/09/25(木) 00:21:53.11ID:AMI6+bxRmk:@MSITStore:C:\Program%20Files\Microsoft%20Visual%20Studio\MSDN98\98VS\1041\vb98.chm::/html/vamnuquerymenu.htm
mk:@MSITStore:C:\Program%20Files\Microsoft%20Visual%20Studio\MSDN98\98VS\1041\vb98.chm::/html/vamnudiagrammenu.htm
Microsoft Visual Database Toolsで
クエリはQuery Designer
ダイアグラムはDatabase Designer
0518デフォルトの名無しさん
2014/09/25(木) 00:23:58.77ID:AMI6+bxRmk:@MSITStore:C:\Program%20Files\Microsoft%20Visual%20Studio\MSDN98\98VS\1041\vbcon98.chm::/Html/vbcondataaccesstoolsinvisualbasic.htm
ここでも嫁
0519デフォルトの名無しさん
2014/09/30(火) 08:19:35.84ID:IGuhwPxZ0520デフォルトの名無しさん
2014/09/30(火) 08:44:43.20ID:PXu0tCTnあったんじゃね?
どっちの実行ファイルが新しいかがわかるし
0521デフォルトの名無しさん
2014/09/30(火) 10:43:11.46ID:E9fBcYL0メジャー:大きな機能変更、追加
マイナー:細かい機能追加等
で、リビジョンを自動更新にしてビルド番号っぽくしてる。
バグフィックスとかで機能は変わらずのときはバージョンあげずにこれだけ。
ビルド後にプロジェクトファイルが変更されてセーブしないとダメなのがちょっと気持ち悪かったけどな。
便利に使ってた。
むしろ今の.NETの自動でつくビルド番号、リビジョン番号のが俺的には使いにくいわ。
同一バージョン内で単にビルド毎にインクリメントでいいんだがなぁ。
日付と時間からやたら長いの作ってきやがる・・・・
0522デフォルトの名無しさん
2014/09/30(火) 11:04:57.34ID:5/SceaQqいつも開発はひとりでやってたの?
0523デフォルトの名無しさん
2014/09/30(火) 13:37:38.65ID:E9fBcYL0小さなソフトハウスだったし、何億どころか何千万ってな案件もほぼ無かったし。
1つの開発に、多くても3〜4人てとこ。
しかも、そんなときはVC++でDLLとかOCX作ってそれをVB6から
コールとかなんでVB自体の開発は多くても2人やったなー
で、どっちかがメインで作ってもう一人はbasやclsやfrmやら
を作ってファイル単位でマージする感じ。
VB6のプロジェクトグループだっけ?今でいうソリューションみたいなの、
あれすら使ったの1回しかないなw
まぁ、こんなのも結構あるんですよ。
0524デフォルトの名無しさん
2014/09/30(火) 15:21:43.01ID:Z5PEBKaZ0525デフォルトの名無しさん
2014/09/30(火) 18:55:19.08ID:nAT9rUaW0526デフォルトの名無しさん
2014/10/01(水) 01:44:11.47ID:a/0Pjuck酷すぎて逆に良く最期まで完成させたなと感心したよ
0527デフォルトの名無しさん
2014/10/01(水) 02:23:46.56ID:YvLL/kbZ大規模ソリューションの選択肢が無かったからなあ
Javaは遅い上に見た目がアレだし
MFCやDelphiは頭数揃えられないし
ASP.NETのWebFormsってVB6の志を引き継いでる感じだけど
これまた大規模になると最初から考えて作らないと
VB6と同じような破綻をするのよね
0528デフォルトの名無しさん
2014/10/01(水) 08:08:39.42ID:qVIX9n5L知らなかったよぅ
てか、それって変な仕様だな
0529デフォルトの名無しさん
2014/10/01(水) 08:14:54.14ID:stP8SGwi0530デフォルトの名無しさん
2014/10/01(水) 11:26:54.61ID:OJSGbkdSフムフムヌクヌクアプアアみたいな奴だな
0531デフォルトの名無しさん
2014/10/01(水) 13:44:00.46ID:vFIUPSKeほんとだ、知らなかった
Unload Form2しても消えないね
Set Form2 = Nothing
するとインスタンスへの参照が消えるみたいだから新規インスタンスになるけど
Private mForm2 As Form2のモジュール変数にしても同じ挙動だね
Unload mForm2してもmForm2の中身を参照できる
このUnloadがC言語のfreeと同じ挙動なら怖いけどw
0532デフォルトの名無しさん
2014/10/01(水) 18:16:51.44ID:jDBNgZ7s0533デフォルトの名無しさん
2014/10/01(水) 18:22:36.27ID:2NEK614A> メモ フォームをメモリからアンロードするときには、表示されている構成要素だけがアンロードされ、そのフォーム モジュールのコードはメモリに保持されます。
仕様か
0534デフォルトの名無しさん
2014/10/01(水) 18:46:03.00ID:iilx0lFQFormのLoad,Unloadとインスタンスの寿命が一致してないのは
VBがオブジェクト指向になる前からの仕様との互換性のため
0535デフォルトの名無しさん
2014/10/01(水) 18:55:34.09ID:uMhCuCfsUnloadしてもインスタンスは消えないからなー
変じゃないし普通の仕様と思うが。
LoadとNewがごっちゃになってない?
Load/Unloadはあくまでフォーム画面のLoad/Unloadだよ。
インスタンス自体はNewで出来るし、Nothingをセットした時点で消える。
なのでUnloadでUnloadイベントはコールされてもTerminateイベントはコールされない。
Dim fff As Form2
Set fff = New Form2 ←Initializeイベント発生
Load fff ←Loadイベント発生
fff.Caption = "タイトル"
Unload fff ←QueryUnload, Unloadイベント発生
Set fff = Nothing ←Terminateイベント発生
fff.Caption = "タイトル"←例外エラー発生
とちゃんとなってる。
そしてVBの仕様でフォームインスタンスの何らかのメンバに最初にアクセス
した時点で勝手にLoadイベントはコールされるんで
Load fff しなくても
fff.Caption = "タイトル" だけでOK。ここの時Loadイベントが発生する。
因みにNew付きで宣言した場合は、最初にメンバにアクセスされた時点でインスタンスが
作成されるので
Dim fff As New Form2 ←ここでは実はまだインスタンスなし(当然Initializeイベントは発生しない)
fff.Caption = "タイトル" ←ここでInitializeイベント、Loadイベント順次発生
となる。
(続く)
0536デフォルトの名無しさん
2014/10/01(水) 18:56:21.21ID:uMhCuCfsSet fff = Nothing
として一旦インスタンス消しても(上記でちゃんとTerminateイベント発生も発生する)最初の宣言が
New付きなので、もう一回
fff.Caption = "タイトル" としても例外発生しない
因みにForm2をそのまま使う暗黙のインスタンスはVBが見えないところで
Public Form2 As New Form2
って宣言してあると思えばわかりやすいと思う。同じ挙動するからね。
でも宣言してもコンパイルエラーにはならないだよねぇ
で、もっと面白いのが
Public Form3 As New Form2
ってモジュールに宣言しておいて
Form3.Caption = "タイトル"
ってやると、Form2のLoadイベントが発生するんだけど、ここでプロジェクトにForm3追加してから実行すると
Form3の方のイベントが発生する。
どうも暗黙のインスタンスの方が優先されるみたい。
これは混乱するのでコンパイルエラーにしておいて欲しかったなかと思う。
0537デフォルトの名無しさん
2014/10/01(水) 20:28:04.39ID:ZN685rzJSet FormXX = Nothing
を入れて使ってます。
既定のインスタンスなんてイラネ。
0538デフォルトの名無しさん
2014/10/02(木) 01:36:58.46ID:N8qwuwR/.NETに移植するときすごい困る
0539デフォルトの名無しさん
2014/10/02(木) 01:46:29.84ID:WuAtB8Kn0540デフォルトの名無しさん
2014/10/02(木) 01:48:19.15ID:N8qwuwR/0541デフォルトの名無しさん
2014/10/02(木) 08:19:54.53ID:4FoM01T7気が付かないで、その変数経由でメンバにアクセスしちゃうと
暗黙にインスタンスが生成されるからバグの元になるよ
0542デフォルトの名無しさん
2014/10/03(金) 01:35:53.67ID:dtryJyjm0543デフォルトの名無しさん
2014/10/03(金) 09:05:29.86ID:VEe5IQwrそもそも As New した変数に Nothing なんかしない。
0544デフォルトの名無しさん
2014/10/03(金) 19:55:44.07ID:dtryJyjm勝手に新しいインスタンス生成されるような。
だから使わない。
0545デフォルトの名無しさん
2014/10/03(金) 21:46:39.24ID:aPfbIogcDIMで宣言してない変数でも配列として使えるんじゃなかったっけ
それと似たようなもんじゃね
0546デフォルトの名無しさん
2014/10/05(日) 12:23:21.81ID:1TdRqStN0547デフォルトの名無しさん
2014/10/05(日) 14:17:28.69ID:XEFXDXfI0548デフォルトの名無しさん
2014/10/05(日) 17:53:33.36ID:BWhErrhC0549デフォルトの名無しさん
2014/10/05(日) 18:00:54.07ID:TPVUn8gD0550デフォルトの名無しさん
2014/10/05(日) 18:05:42.22ID:BWhErrhCよくわかりません
0551デフォルトの名無しさん
2014/10/05(日) 18:09:38.59ID:TPVUn8gD0552デフォルトの名無しさん
2014/10/05(日) 18:12:43.76ID:BWhErrhCメッセージループが別スレに作られるということでしょうか?
0553デフォルトの名無しさん
2014/10/05(日) 18:15:53.76ID:F+6s6CvzVBを使って書かれたプログラムがシングルスレッドになる
(正確に言うとマルチスレッドの機能がない)だけで
VBのライブラリ自体はマルチスレッドを使ってる。
0554デフォルトの名無しさん
2014/10/05(日) 20:26:26.19ID:+wiNjh9s'Form1.frm
Private Sub Command1_Click()
Dim mform As Form2
Set mform = New Form2
mform.Show vbModeless
Set mform = Nothing
End Sub
Private Sub Timer1_Timer()
Label1.Caption = Now
End Sub
'Form2.frm
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
Timer1.Enabled = False
Do
Loop
End Sub
0555デフォルトの名無しさん
2014/10/05(日) 20:30:26.61ID:1TdRqStNということです
0556デフォルトの名無しさん
2014/10/05(日) 20:31:41.84ID:k8RC2dHpそのスレッドを分け合って使うから
>>552
ホントにユーザコードが(UI)スレッドを占有してたらUIは固まるぞ
Form2.Show vbModeless
Do
Loop
見たいなコード実行してみろ
0557デフォルトの名無しさん
2014/10/05(日) 20:39:04.46ID:k8RC2dHpそしてマルチタスク=マルチスレッドって事でもないがな
どっちにしろシングルコアのCPUなら、一度に実行できるスレッドは一つしかないし
0558デフォルトの名無しさん
2014/10/05(日) 20:40:26.49ID:BWhErrhC0559デフォルトの名無しさん
2014/10/05(日) 21:17:05.86ID:k8RC2dHpマルチスレッドに特有な競合はないかもしれんが
DoEventsとか使うと思わぬ再入したりするからな
0560デフォルトの名無しさん
2014/10/05(日) 21:45:19.95ID:1TdRqStNに訂正
0561デフォルトの名無しさん
2014/10/06(月) 08:19:10.61ID:biGlCJQs0562デフォルトの名無しさん
2014/10/06(月) 15:27:17.75ID:f7RfeMbE起動されたアプリは延々とGetMessageでシステムからのウィンドウメッセージ待ちをし
ウィンドウメッセージが来たらDispatchMessageでシステム経由でウィンドウプロシージャを呼んでもらう
VB6でやってる部分はウィンドウプロシージャから
イベント用のメソッドを呼び出されているのでは?
0563デフォルトの名無しさん
2014/10/06(月) 19:36:33.55ID:kmT79uZZ自分でウィンドウプロシージャ呼ぶようになってない理由ってなに?
0564デフォルトの名無しさん
2014/10/06(月) 21:31:17.08ID:5SQO2Mek0565デフォルトの名無しさん
2014/10/06(月) 23:19:15.26ID:t5McZ28d0566デフォルトの名無しさん
2014/10/07(火) 00:33:51.72ID:o6+LdOX4コマンドクリック→モードレスでBを開く→データベースに書き込む長い処理
Bの処理
ロード→データベースから読みとる処理
例えばこのような場合はデータのロックが必要ですか?
0567デフォルトの名無しさん
2014/10/07(火) 01:13:51.52ID:IX2gnXHvいきなりバカ呼ばわりとか心が貧しい奴だな
0568デフォルトの名無しさん
2014/10/07(火) 06:01:51.29ID:G0Zenyqi0569デフォルトの名無しさん
2014/10/07(火) 09:26:00.01ID:nsjijZQf馬鹿なの?死ぬの?
0570デフォルトの名無しさん
2014/10/07(火) 10:43:32.29ID:pP8u07NL0571デフォルトの名無しさん
2014/10/07(火) 10:52:00.07ID:P3MEEBPn保守のお仕事はあるよ
0572デフォルトの名無しさん
2014/10/07(火) 15:14:08.23ID:83CrqE+Aデータの整合性をとるために、ロックなどはDBが行う
テーブルに書き込むと、テーブル全体がロックされる
オラクルなどでは、テーブル全体をロックせず、
書き込むその行だけをロックできる(行ロック)らしい。
よく知らんけど
とにかくプログラムには関係ない
DBの設定で行う
一番厳しい設定にすると、整合性が守られる
ゆるくすると、ファントム(幽霊)などが生じるw
初歩のDBの本を読めば?
0573デフォルトの名無しさん
2014/10/08(水) 23:00:13.69ID:BHJ/W60Vどーするよ…
0574デフォルトの名無しさん
2014/10/08(水) 23:09:41.39ID:qFpb2VAvwindows95と98の判定にwindows9までで判定してるのが原因らしい
0575デフォルトの名無しさん
2014/10/08(水) 23:32:59.39ID:AQUIEjPo0576デフォルトの名無しさん
2014/10/09(木) 00:20:05.46ID:IUUlD58Q0577デフォルトの名無しさん
2014/10/09(木) 20:00:42.60ID:ewqqMbYf0578デフォルトの名無しさん
2014/10/11(土) 13:31:12.03ID:spVRUbvr水平スクロールバーに2つのピクチャを乗せてるのだけど
スクロールバーのWidthを例えば132ピクセルにすると
両端のボタン部の幅がそれぞれ16ピクセルだから可動部は100ピクセル
例えば、スクロールバーのMinとMaxをそれぞれ0にすると
Valueは0しかありえなくてツマミ部の幅は100ピクセル
Min=0とMax=1にすればツマミ部は50ピクセル
つまり、ツマミ部の幅は100/(Max-Min+1)(但し8以上)で計算できる
これはLargeChange=1の場合で、LargeChangeを大きくするとツマミ部の幅も大きくなる
そこが謎
0579デフォルトの名無しさん
2014/10/11(土) 15:22:03.60ID:aOjCrPms0580デフォルトの名無しさん
2014/10/13(月) 20:27:06.15ID:rP8n9z06動いてくれないと、作り直しするの面倒くさい
すでに退職したオッサンの遺物だから、誰も仕様分からんし
0581デフォルトの名無しさん
2014/10/14(火) 00:55:28.54ID:H4CFmhAR可読性 皆無
関係者 行方不明
残業代 プライスレス
0582デフォルトの名無しさん
2014/10/24(金) 00:00:53.52ID:h6ZlNKq3これってVB6関係ある?
0583デフォルトの名無しさん
2014/11/01(土) 06:24:44.35ID:/9f2fySDなんじゃこりゃ?
0584デフォルトの名無しさん
2014/11/08(土) 01:38:56.38ID:KezNyf+qVBEがあればできるのは知ってるのですがなにぶんないものでして。
ヴィジュアルスツーディオ2013ならあるのでそれで編集したいのですが
なんとかなりませんか?
0585デフォルトの名無しさん
2014/11/08(土) 02:11:19.97ID:v0SFyh4Vスレチ
Visual Studio 2013 SP5?2ch.net
http://peace.2ch.net/test/read.cgi/tech/1414715288/
0586デフォルトの名無しさん
2014/11/09(日) 22:40:22.12ID:A8ReNo8Xネットで検索すりゃサンプルソースとかジャンジャン出てくるぞ
0587デフォルトの名無しさん
2014/12/20(土) 01:15:29.68ID:+gk1gAeUどうして、.NET frameworkのCIL
コードを出力するVB6.0のコンパイラが出てこないんだろう?
0588デフォルトの名無しさん
2014/12/20(土) 06:22:38.07ID:BUfsBh8W発売された年代の違い
0589デフォルトの名無しさん
2014/12/20(土) 07:47:13.41ID:wYVJWxVn可能だと思うのならYOUが作っチャイナYO!
0590デフォルトの名無しさん
2014/12/20(土) 14:21:26.91ID:Si36Gfqv小規模なシステムならともかく、ある程度のシステムになると、 .NET
への移行が不可能だから、どうやってVB6のプログラムを延命させるか、みんな苦心してると思うんだよな。 .NET
対応にできれば、相当需要がありそうだよ。
0591デフォルトの名無しさん
2014/12/20(土) 21:15:21.77ID:JtAcEBQT作ったときからは要件も変わってるはずだし
0592デフォルトの名無しさん
2014/12/24(水) 16:07:40.92ID:XwO/UkbRこれ、めんどくさいな
0593デフォルトの名無しさん
2014/12/24(水) 19:09:17.62ID:Pe8einXY面倒臭ければ自分で関数作れば。
0594デフォルトの名無しさん
2014/12/24(水) 19:27:57.78ID:JiYEgYRJ数字とアルファベットの文字コードが連続してたらよかったのにね
0595デフォルトの名無しさん
2014/12/24(水) 19:41:36.24ID:NaIRZcpw関数作るのもめんどくさいな
0596デフォルトの名無しさん
2014/12/24(水) 23:27:10.34ID:+F1ZKWrO0597デフォルトの名無しさん
2014/12/24(水) 23:55:38.16ID:PMrDvfos単に型文字を付けないリテレルはIntegerとして扱われて、
そしてVBのIntegerは16bit時代を引きずって16ビットなだけ。
0598デフォルトの名無しさん
2014/12/25(木) 06:49:34.10ID:R9NNVRim同じこと言ってるだけだと思うなあ
いちいち自分の言葉に直さないと理解できないアスペさんかな
0599デフォルトの名無しさん
2014/12/25(木) 08:11:49.13ID:iwW5OkLkそんなんが通じると思うのはコミュ障の疑いあり
0600デフォルトの名無しさん
2014/12/25(木) 12:37:49.65ID:LfWVLz+40601デフォルトの名無しさん
2015/01/19(月) 03:25:20.03ID:AqAYhJO7てかヘルプのページごとに掲示板作ったらいいのに
0602デフォルトの名無しさん
2015/01/19(月) 03:46:59.56ID:WCeqJ/5h0603デフォルトの名無しさん
2015/02/01(日) 19:25:26.16ID:o8e0JQaYそのフォルダを使ってるぞという印がつくみたいで
エクスプローラからそのフォルダを削除できなくなる
もう使ってないよと教えることはできず、他のフォルダに移動するしかない
そしてその移動したフォルダもまた削除できなくなるという
0604デフォルトの名無しさん
2015/02/01(日) 19:27:52.17ID:o8e0JQaY0605デフォルトの名無しさん
2015/02/01(日) 22:06:29.63ID:sjXjc1T+0606デフォルトの名無しさん
2015/02/01(日) 22:24:14.09ID:VsSkpSzV0607デフォルトの名無しさん
2015/02/05(木) 19:47:28.29ID:ulWih/d60608デフォルトの名無しさん
2015/02/10(火) 13:27:07.27ID:HJItUlmAそんなすげーシステムだったのか。
それとも自分の頭の中、技術力をってことか?w
0609デフォルトの名無しさん
2015/02/12(木) 00:47:13.03ID:GjbGDI820610デフォルトの名無しさん
2015/02/12(木) 09:47:43.55ID:NrPjwkQt0611デフォルトの名無しさん
2015/02/28(土) 00:26:16.10ID:E51084cWvb6は完全に負の遺産だよ
0612デフォルトの名無しさん
2015/02/28(土) 23:08:00.73ID:H4GrRwwHソース全部あればともかくランタイムはどうしようもないし無理かな
0613デフォルトの名無しさん
2015/03/10(火) 00:26:30.38ID:4vRVmU8Z0614デフォルトの名無しさん
2015/03/10(火) 08:54:03.47ID:9jR5iZgP0615デフォルトの名無しさん
2015/03/23(月) 20:28:08.39ID:SD2rQl310616デフォルトの名無しさん
2015/03/29(日) 18:11:52.53ID:sbLODQLlSETUP形式にするとデザインが崩れたEXEが出来てるんですが
なんとかなりませんかね。
WinXP VB6SP6環境。
0617デフォルトの名無しさん
2015/03/29(日) 18:15:06.77ID:sbLODQLlSETUP形式にするとデザインが崩れたEXEがCAB内に配置されてるのですが
なんとかなりませんかね。
WinXP VB6SP6環境。
0618デフォルトの名無しさん
2015/03/29(日) 18:16:21.15ID:sbLODQLl0619デフォルトの名無しさん
2015/03/29(日) 20:03:12.75ID:ip65HYOy0620デフォルトの名無しさん
2015/03/29(日) 20:56:08.53ID:GIfRQ9M6フリーのインストーラでパッケージ化すればいいんじゃね?
0621デフォルトの名無しさん
2015/03/31(火) 13:01:32.91ID:0mEnHG5jありがとうございます。
結局セットアップ後にEXEをコピーして貰うことにしました。
0622デフォルトの名無しさん
2015/03/31(火) 21:18:08.27ID:+KfLn/60VS6.0のサポートが終わって2010年頃にDLできなくなったから(´・ω・`)
0623デフォルトの名無しさん
2015/04/11(土) 16:45:47.80ID:RAU5f7WLこのファイルから40000,50000と切り出したいんだけど
うまくいかない。何が不味いのかな。
Dim hoge1 as long
Dim hoge2 as long
Dim FileNo As Integer
FileNo = FreeFile
Open SaveFile For Binary Access Read As FileNo
Get FileNo, 1, hoge1
Get FileNo, 3, hoge2
Close FileNo
0624デフォルトの名無しさん
2015/04/11(土) 17:34:09.63ID:LbK5Z9ysInteger は 2 byte 読み込む
hoge1もhoge2もLongなので4byte読み込む
0625デフォルトの名無しさん
2015/04/11(土) 17:35:07.96ID:LbK5Z9ys0626デフォルトの名無しさん
2015/04/12(日) 09:22:37.77ID:R2DZtWRM0627デフォルトの名無しさん
2015/04/12(日) 12:43:47.17ID:YnZGkZYrそしてVBには符号なし整数はなかったはず
とりあえずIntegerで読んで自分でLongに拡張すれば良いんじゃね
0628デフォルトの名無しさん
2015/04/12(日) 14:56:05.69ID:cmDRM8CX再度10進数に戻すというシチめんどくさい方法で解決しました。
0629デフォルトの名無しさん
2015/04/12(日) 15:46:20.94ID:BtEXqKfw僕は今VB6言語のParserを探しているんだけど心当たりはないかい?
何か知っていたら教えて欲しいんだ
サンキュー!
0630デフォルトの名無しさん
2015/04/12(日) 16:28:06.70ID:YnZGkZYr0000FFFFとANDとればいいだけだと思うが
hoge1 = &HFFFF& And int
FFFFの後ろの&はLong型の型宣言文字な
ま、動いてるなら良いけど
いまさらVBでこんなことやるっていったい何が
0631デフォルトの名無しさん
2015/04/12(日) 16:29:32.85ID:YnZGkZYr>>628か
0632デフォルトの名無しさん
2015/04/14(火) 11:15:29.24ID:cX2ojR9W何するん?
0633デフォルトの名無しさん
2015/04/16(木) 09:12:03.28ID:SL3a7UaO必要ファイルをそろえて配布しているのですが一部の方から
「システムエラーです。&H8007007E(−2147024770)指定されたモジュールが見つかりません。」
というエラーが出て起動しません。
Visual Basic 6.0 SP6 ランタイムファイルを入れてみても
改善されないそうです。
自分のマシンでは再現しないため原因が特定できません。
お助けください。
0634デフォルトの名無しさん
2015/04/16(木) 21:48:29.25ID:9Mx2dg5Y何かのファイルが足りてないから出てるエラーの様に見えるけど
原因は別なんじゃないかな。
0635デフォルトの名無しさん
2015/04/16(木) 21:55:04.63ID:SmxX7Y23でググればいいだろ
0636633
2015/04/17(金) 10:14:13.49ID:/e0YAkQl無事動いたそうです。なんかOffice依存のモジュール使ってるんだろうか。
https://msdn.microsoft.com/en-us/library/ms968493.aspx
0637633
2015/04/17(金) 11:51:13.75ID:DkfBjpikテキストボックスやラベルがFM2.0かノーマルかをプロパティとかで
後から判別する方法ってないんですかね。
0638デフォルトの名無しさん
2015/04/17(金) 18:04:39.25ID:+yzaDsFM>FM20.DLL を Visual Basic やそのほかの開発者向け製品で使用すると、多くの問題が発生することがわかっています。
標準コントロールが勝手にそんなものを参照してるとは思えんが
0639デフォルトの名無しさん
2015/04/17(金) 22:06:35.63ID:atIlsyZSFM20.DLLの参照設定はとれず。。。
0640デフォルトの名無しさん
2015/04/17(金) 22:10:58.35ID:KxS0evdx0641デフォルトの名無しさん
2015/04/17(金) 22:56:54.98ID:atIlsyZS参照設定が外れました。ありがとうございます。
0642デフォルトの名無しさん
2015/04/17(金) 23:04:35.85ID:XwaNIzCF0643デフォルトの名無しさん
2015/04/20(月) 10:31:51.64ID:Tqkeps+z0644デフォルトの名無しさん
2015/04/24(金) 20:14:41.53ID:e7xK7URf下記のコードをVB6で実行すると結果はどうなりますか?
'----Start----
Dim resultYer As String
Dim resultMon As String
Dim resultDay As String
Dim resultHor As String
Dim resultMin As String
Dim day1 As Date = Date.Parse("2006/11/1 12:00:00")
Dim day2 As Date = Date.Parse("2006/11/2 11:59:00")
resultYer = DateDiff("y", day1, day2)
resultMon = DateDiff("m", day1, day2)
resultDay = DateDiff("d", day1, day2)
resultHor = DateDiff("h", day1, day2)
resultMin = DateDiff("m", day1, day2)
MsgBox("年の差:" + resultYer + vbNewLine _
+ "月の差: " + resultMon + vbNewLine _
+ "日の差:" + resultDay + vbNewLine _
+ "時の差:" + resultHor + vbNewLine _
+ "分の差:" + resultMin)
'----End----
VB6⇔vb.netでDateDiffの仕様が違うと聞きました。
(情報元)ttp://bbs.wankuma.com/index.cgi?mode=al2&namber=70339&KLOG=120
自宅にはvb.net環境はありますが、VB6の環境がないため、仕様の差を確認できずに困っています。ちなみにvb.netだと以下のメッセージが表示されます。
年の差:0、月の差:0、日の差:0、時の差:23、分の差:0
0645デフォルトの名無しさん
2015/04/24(金) 20:29:52.73ID:6BGAt3Sa0646デフォルトの名無しさん
2015/04/24(金) 20:57:55.27ID:e7xK7URfそーいうのもあるんですね。知らなかった。
Excel VBAで試したら
年の差:1、月の差:0、日の差:1、時の差:23、分の差:0
になりました。年の差:1が意味不明だけど、
とりあえず違うのは確認できたからありがとう。
0647デフォルトの名無しさん
2015/04/24(金) 21:35:56.88ID:u+PDxy+/>年の差:1が意味不明だけど
VBAのヘルプ見ると、yは年間通算日らしい。dとどこが違うのかわからんが
年指定はyyyyらしいぞ
MSDNみると、指定内容は.NETでも同じっぽい
"d"はDateInterval.Day、"y"はDateInterval.DayOfYearだけど
時間の差異の単位はどっちもDayになってる
年指定はDateInterval.Yearで"yyyy"
"yyyy"指定したときにそれぞれの値がどうなるかは知らん
自分で追加検証してくれ
0648デフォルトの名無しさん
2015/05/09(土) 17:00:09.47ID:eQeEiCUfINSTRBの部分でバイナリ値に変換した"イギリス"という文字列の書き方を教えてください。
Dim xBIN() As Byte
Dim lngFileLenB As Long
Dim str As String
lngFileLenB = FileLen("セーブデータ.BIN")
ReDim xBIN(lngFileLenB)
Open "セーブデータ.BIN" For Binary As #1
Get #1, , xBIN
str = xBIN '<-文字列に代入
msgbox InStrB(xBIN, "イギリス") - 1
0649デフォルトの名無しさん
2015/05/09(土) 17:03:31.87ID:eQeEiCUf0650デフォルトの名無しさん
2015/05/09(土) 17:04:00.31ID:eQeEiCUf0651デフォルトの名無しさん
2015/05/09(土) 17:47:29.22ID:qZm7gFud・Val関数は文字列中に文字として現れる数字を数値に変換する関数
0652デフォルトの名無しさん
2015/05/09(土) 17:49:48.34ID:qZm7gFudは勘違いだったスマソ
0653デフォルトの名無しさん
2015/05/09(土) 17:51:50.02ID:qZm7gFud0654デフォルトの名無しさん
2015/05/09(土) 20:47:48.78ID:TxS/HRdkでいけました。
0655デフォルトの名無しさん
2015/05/13(水) 18:27:47.10ID:E3dvKu8TVB6はずっと使えそうですね^^;p
0656デフォルトの名無しさん
2015/05/13(水) 22:57:34.19ID:C8J+fuN80657デフォルトの名無しさん
2015/05/14(木) 20:21:26.39ID:lFtLYc9s無理。常識で考えようよw
0658デフォルトの名無しさん
2015/05/15(金) 09:47:32.26ID:Wsvcza/f0659デフォルトの名無しさん
2015/05/20(水) 15:00:40.79ID:GXJd8FT6言語かなにかでdllを作るしか無いのでしょうか?
0660デフォルトの名無しさん
2015/05/20(水) 18:58:47.25ID:qzEPJuIN0661デフォルトの名無しさん
2015/05/21(木) 08:10:44.04ID:D6D9E2On0662デフォルトの名無しさん
2015/05/21(木) 21:51:04.17ID:PvdFF4ayはい。ローカル変数と同じで使わなくなった時点で消えますから。
GC、ガベージコレクション。つまり、ガベージ(ごみ)を
コレクション(集める人)はいません。
自分自身で消えます。
だから「gcが終了しません」といわれても、
終了させるべきgcが存在しません。
0663デフォルトの名無しさん
2015/05/21(木) 23:07:46.02ID:GzVh/YHb0664デフォルトの名無しさん
2015/05/23(土) 13:49:21.18ID:VxHin33+VB初心者ですが、GPIBで装置の制御をしたいと考えています。
制御する装置の取り扱い説明書にインターフェースプログラムが載っていて、その一部が以下のソースです。
CLEAR IBINIT1 = 60000!: IBINIT2 = IBINIT + 3: BLOAD "BIB.M", IBINIT1
装置の動作環境はQuickBasicとGWBasicと書かれており(古い装置ですので)、これをVB6.0で動かしたいのですが、以下のソースに対応するVBコードを教えていただけないでしょうか。
コンパイルの段階でCLEAR文とBLOAD文でエラーがでます。
他にも情報が必要でしたら、インターフェースプログラム全体を載せますので、よろしくお願い致します。
0665デフォルトの名無しさん
2015/05/23(土) 13:58:38.22ID:8oQ8jNeYつか、それサンプルプログラムなんだろ
そのサンプル元の説明見てコードみて何してるか見当もつかないようなら
移植とか諦めた方がいいレベルなんじゃないか
0666デフォルトの名無しさん
2015/05/24(日) 11:10:40.95ID:aC7thSOE0667デフォルトの名無しさん
2015/05/25(月) 12:24:05.53ID:B7x2AXB50668デフォルトの名無しさん
2015/06/05(金) 12:43:40.66ID:duzq6n04別のアプリのコピー新規でPGを作成したところ、インストール先もコピー元のアプリの設定になって
困っています。
毎回SETUP.LSTを手動で直してるのですが、面倒くさいです。
0669デフォルトの名無しさん
2015/06/05(金) 12:51:52.29ID:duzq6n040670デフォルトの名無しさん
2015/06/19(金) 10:30:05.44ID:P8jv6eWV呼ばれる側のexeにマニフェストなどで管理者権限に昇格させる設定をしてあるとUACが表示されず起動出来ないです
最近のwindowsupdate入れた端末でのみ発生してるんですが何かこの辺変わったんですかね?
0671デフォルトの名無しさん
2015/06/30(火) 18:10:49.69ID:7mN/yCYSついついVB6を使ってしまう
簡単だし、IDE軽いし
VB6依存体質が抜けないお
0672デフォルトの名無しさん
2015/06/30(火) 20:39:15.24ID:YR8uH3yH0673デフォルトの名無しさん
2015/07/01(水) 10:59:37.77ID:fbUsRR4f完全に.NETに依存してしまった。
0674デフォルトの名無しさん
2015/07/01(水) 11:34:31.66ID:DRY714aS完全にフライパンに依存してしまった。
0675デフォルトの名無しさん
2015/07/01(水) 12:51:03.77ID:lMyegDBc行平もたまに使わないと
0676デフォルトの名無しさん
2015/07/02(木) 19:22:52.93ID:Hci5YVEI残業お疲れさん!
0677デフォルトの名無しさん
2015/07/02(木) 21:04:24.82ID:PhnYLcQw0678デフォルトの名無しさん
2015/07/08(水) 16:03:08.00ID:VEd0guZuvb6でwinsock(tcp)って、通信を行っています。このプログラムをWindows7で動かすと、winsock.remorthostipの値(相手のipアドレス)が勝手に変わります。厳密には、連続で受信すると、3回に1回、iPアドレスの最後の一桁が削られます。例 192.168.1.52→192.168.1.5
回避策はあるでしょうか?
0679デフォルトの名無しさん
2015/07/08(水) 16:38:28.27ID:1I6F/xtT0680デフォルトの名無しさん
2015/07/08(水) 19:18:39.50ID:SdJJqPpnvb6はsp5、sp6 両方で再現
Windows7はsp1です。
0681デフォルトの名無しさん
2015/07/08(水) 20:00:27.70ID:xcJFdxGm0682デフォルトの名無しさん
2015/07/09(木) 16:43:17.49ID:d/7Iu65D頑張っとるねー
0683デフォルトの名無しさん
2015/07/09(木) 19:07:44.31ID:OIwshvU3負の遺産を増やさないで
0684デフォルトの名無しさん
2015/07/10(金) 19:11:03.71ID:zt7/LdpA0685デフォルトの名無しさん
2015/07/10(金) 19:53:44.23ID:lRLeeNIl0686デフォルトの名無しさん
2015/07/10(金) 20:18:38.14ID:jiYZdnGq0687デフォルトの名無しさん
2015/07/10(金) 21:27:18.06ID:89MsCGsS0688デフォルトの名無しさん
2015/07/10(金) 21:34:37.95ID:jiYZdnGq誰か.Netと両方分かる人、デリゲートの代替え案を教えてくれ。
0689デフォルトの名無しさん
2015/07/10(金) 21:59:45.15ID:On7OQ+i/(1) Interface
(2) CallByName
0690デフォルトの名無しさん
2015/07/10(金) 22:06:21.64ID:89MsCGsS0691デフォルトの名無しさん
2015/07/10(金) 22:08:18.92ID:f9v78y+Gインターフェースはそのためだけにクラス作らないといけないからちょい不便だな。
Call By Nameってどんなの?
0692デフォルトの名無しさん
2015/07/10(金) 23:34:24.08ID:ZUCYWHyX0693デフォルトの名無しさん
2015/07/11(土) 17:40:29.28ID:jpF4X+wv結局、誰もVB6を駆逐できなかったんだね。
0694デフォルトの名無しさん
2015/07/12(日) 09:18:01.73ID:eT/zQga3○結局、誰もVB厨を駆逐できなかったんだね。
0695デフォルトの名無しさん
2015/07/12(日) 14:20:39.37ID:SaLxtIrt0696デフォルトの名無しさん
2015/07/12(日) 16:09:12.26ID:xBd1mM/W0697デフォルトの名無しさん
2015/07/13(月) 09:24:43.23ID:O9qWuscSそれって未だにシェアトップでこの先も安泰って事になるのだが?
0698デフォルトの名無しさん
2015/07/13(月) 11:14:03.61ID:awJDyF4Bシェアてw
競合の中で競争力があるから優勢を占めている(割合)んじゃなくて、
単に希少性がない(どこにでもいる)から絶対量が多いだけだ馬鹿w
だから需給関係で買い叩かれてるだけのことでこれは至極当然のことなのに、頭が悪いからこういう簡単な理屈が分からずに
2chのプログラマー板やニュース系の板で自分の無能を棚に上げて「ブラック企業ガー」とか吠えることになる。
0699デフォルトの名無しさん
2015/07/13(月) 12:50:58.75ID:r6h2hC+g小遣い稼ぎとしては美味しいのでは? 安泰というのはそういう意味な
0700デフォルトの名無しさん
2015/07/18(土) 23:32:08.38ID:t3qSMqNLどうすればいいでしょうか????
0701デフォルトの名無しさん
2015/07/19(日) 00:19:16.62ID:mee78mloVB2002,VB2003,VB2005,VB2008,VB2010,VB2012,VB2015はスレチ
って書いておいたほうがいいんじゃねーの
0702デフォルトの名無しさん
2015/07/19(日) 06:24:13.13ID:D9aathl+0703デフォルトの名無しさん
2015/07/20(月) 03:01:25.46ID:rZVP7tf0わからない世代になってきたのだろう。
>>1のテンプレに書くのも当然として
スレタイも変更しよう。
こんなのでどうか?長さ制限がきつくて困る。
旧版VBプログラマ質問スレ (VB2002以降禁止) part65
0704デフォルトの名無しさん
2015/07/20(月) 03:34:23.29ID:jyLRfwQmスレタイのプログラマって単語を省けばいいじゃん
何の意味もなしてないんだし
0705デフォルトの名無しさん
2015/07/20(月) 03:50:36.71ID:rZVP7tf0じゃあこれで
旧版Visual Basic質問スレ (VB2002以降禁止) part65
0706デフォルトの名無しさん
2015/07/20(月) 10:47:30.60ID:pTYyCTCw0707デフォルトの名無しさん
2015/07/23(木) 12:48:24.94ID:p0QCm9plそれじゃ結局長くなっちゃってますよ^^;
多分、>>704 さんはそのままプログラムを取って
旧版VB質問スレ (VB2002以降禁止) part65
にすればいいんじゃない?って言ったんだと思いますよ^o^
0708デフォルトの名無しさん
2015/07/23(木) 16:29:32.21ID:wgfFiwztこれで間違えるような奴は所詮お呼びじゃないよね?(´・ω・`)
変なスレタイ考えてる暇があったら、VB6をVB.NETに移行する作業に
さっさと戻った方がいいよね?(´・ω・`)
0709デフォルトの名無しさん
2015/07/23(木) 19:48:32.54ID:OrJvRiwH0710デフォルトの名無しさん
2015/07/23(木) 20:15:10.45ID:wJ4dBNqB0711デフォルトの名無しさん
2015/07/23(木) 21:43:09.69ID:fIFeUYpQ移植性の高いとか低いとかの基準がどこかによるけど
互換性としては、まあ100%ではないし高くはないと言えるかもしれん
移植性でいえば、たとえばC#に移植するよりははるかに高いと言えると思うが
0712デフォルトの名無しさん
2015/07/23(木) 23:38:28.98ID:h4tQPyFCVB6.0からVB.Netへの移植が出来る人なら
VB.NetからC#の移植ならへっぽこぴーだと思うのだが。
文法以外8割方変わらん。
0713デフォルトの名無しさん
2015/07/24(金) 09:27:56.15ID:aa1NhMid0714デフォルトの名無しさん
2015/07/24(金) 20:46:13.96ID:uaWMhUqqだろ
0715デフォルトの名無しさん
2015/07/24(金) 20:49:06.52ID:B25T497v新しい世界→C#
これが正解
0716デフォルトの名無しさん
2015/07/24(金) 21:25:06.14ID:UAOj/YU8だと思うんだが
0717デフォルトの名無しさん
2015/07/25(土) 09:06:14.15ID:otCZYRZmデータ集計機能とかは既存ロジックを作り直すの馬鹿らしいから
そこはVB6->VB2008コンバートでやるとか
0718デフォルトの名無しさん
2015/07/25(土) 10:57:42.04ID:RII5Ktnm0719デフォルトの名無しさん
2015/07/25(土) 11:18:26.38ID:T2h9ksOTもともと、テストしやすく作られてるなら、話は別だけど、VB6はテストしにくいほど、良い、って文化なんだよね
0720デフォルトの名無しさん
2015/07/25(土) 13:33:02.62ID:otCZYRZmVB6の場合は糞みたいなプログラムのほうが多いけど
0721デフォルトの名無しさん
2015/07/27(月) 07:31:09.47ID:iWmK+CKehttp://a.excite.co.jp/News/it_g/20150706/sum_Slashdot_15_07_06_0917202.html
0722デフォルトの名無しさん
2015/07/27(月) 19:38:54.63ID:2b71ztG3VB6ランタイムには脆弱性がない安定したモンだってことか?
0723デフォルトの名無しさん
2015/07/27(月) 19:52:09.66ID:2WdhWmcqWindowsを侵す病魔
0724デフォルトの名無しさん
2015/07/28(火) 08:18:44.44ID:DZHdP61g0725デフォルトの名無しさん
2015/07/28(火) 12:30:00.20ID:5VX8PWDS0726デフォルトの名無しさん
2015/07/28(火) 16:28:37.06ID:PxXsYeSe0727デフォルトの名無しさん
2015/07/28(火) 17:56:10.15ID:+SKnFJ9Z0728デフォルトの名無しさん
2015/07/28(火) 18:07:38.34ID:+SKnFJ9ZFlashはHTML5への移行が進んでいる段階だ。YouTubeなんてHTML5で再生されるようになった
古いクライアントサイド技術が廃止されていく中
VB6だけはWin10でも生き残った
0729デフォルトの名無しさん
2015/07/28(火) 20:35:40.83ID:Z+xZWeTf0730デフォルトの名無しさん
2015/07/28(火) 21:23:24.00ID:sFAhL5HYいきなり画面が文字化けしてたりするのがVB製アプリなわけだが
はやく絶滅してくれないかな
0731デフォルトの名無しさん
2015/07/29(水) 09:40:01.83ID:2BCB+WmSビールを賭けてもいい。
Microsoftは今後のWindowsでもVisual Basic 6をサポートしなければならないだろう。
0732デフォルトの名無しさん
2015/07/30(木) 03:07:23.73ID:qAED+lXR0733デフォルトの名無しさん
2015/07/30(木) 19:17:47.96ID:FRlaAlkY0734デフォルトの名無しさん
2015/08/01(土) 00:49:29.29ID:Y3XWk9yX大多数のエンジニアからしたら
馬鹿だなぁって思われるだけですよ、ソレwww
0735デフォルトの名無しさん
2015/08/04(火) 10:20:41.28ID:1t1fv33Z0736デフォルトの名無しさん
2015/08/05(水) 07:05:06.11ID:ZbRaDsL0いまだにVC6で作る奴は小者⚪︎
0737デフォルトの名無しさん
2015/08/05(水) 22:47:09.06ID:+BU0Yttl0738デフォルトの名無しさん
2015/08/06(木) 13:48:54.28ID:I1gutQr/0739デフォルトの名無しさん
2015/08/08(土) 00:20:19.11ID:Fe3rcXOX0740デフォルトの名無しさん
2015/08/08(土) 00:59:34.35ID:TXQqo4N80741デフォルトの名無しさん
2015/08/09(日) 05:56:35.03ID:nd2w8Mp+0742デフォルトの名無しさん
2015/08/09(日) 09:53:19.36ID:/6/RtruA0743デフォルトの名無しさん
2015/08/09(日) 19:16:24.93ID:4nBvoyFz0744デフォルトの名無しさん
2015/08/09(日) 19:49:46.42ID:c6qkqvSs0745デフォルトの名無しさん
2015/08/11(火) 09:29:55.06ID:nrhSjeMn0746デフォルトの名無しさん
2015/08/11(火) 13:47:21.97ID:bNJWLzix0747デフォルトの名無しさん
2015/08/13(木) 00:05:36.63ID:vA6xyZbh0748デフォルトの名無しさん
2015/08/13(木) 09:18:46.21ID:FiKzGz/Nどれかを右クリックすると、ポップアップメニューから削除や編集ができるようにしています
それはMouse_Downでどの画像を右クリックされたかを知り、ポップアップメニューで実行される処理に伝えているわけです
それが、ドラッグ&ドロップにも対応するようにOLEDragModeを自動にしたらMouse_Downイベントが発生しなくなったので
OLEStartDragイベントで右クリックされたかを見るようにしたのですが、このプロシージャには座標情報がありません
そこで直前のMouse_Moveで得られた座標を使うことにしたのですが
このMouse_Moveイベントというやつは、ポップアップメニューが出ているときは発生しないのですね
つまり、最初に右クリックしてポップアップメニューを出したときには、どれが選択されたかは分かるのですが
そのポップアップメニューを出したまま、別の画像を右クリックした場合には、
その間にMouse_Moveイベントが発生していないので、どの画像が選択されたか分からないですね
APIでマウス座標を取得するしかないですか?
0749デフォルトの名無しさん
2015/08/13(木) 17:41:02.34ID:Woc45Qdi0750デフォルトの名無しさん
2015/08/14(金) 14:45:49.81ID:6LGD7sZvOn Errorを使う前提で、VB自身が持ってないエラーを自分で発生させて、エラーの
ジャンプ先のラベルに移動させるんかいな。何のために。そんな間接的な動かし方
のプログラムの書き方をやる必要あるんかいな。変数とかを検査して異常を見つけ
たら、その場で、その対策コードを書くのではおかしいのかいな。
0751デフォルトの名無しさん
2015/08/14(金) 21:50:31.50ID:p5ZaJdGy例えばOn Error Gotoの記述ある関数が、自前エラーを発生させる関数を呼んでいる関数を
呼んでいる関数を呼んでいる関数を・・・呼んでいる関数を呼んでいるとして、
今までその関数たちに戻り値が無かったり、既に別の戻り値を使っていたら直すの面倒臭さいじゃん。
他のエラーと同じように処理を行うなら、エラーとして投げちゃった方が早いよって
話なんじゃないの?
0752デフォルトの名無しさん
2015/08/16(日) 20:00:59.96ID:iyw7PDsu他の言語では例外と呼ばれている機能。
多くの言語でtry-catch構文のthrowがErr.raiseに相当する。
例外を使わない場合、エラーを戻り値で返すことになるが、
戻り値でエラーを返すと、エラーチェック漏れが起こりやすく、
コードが冗長になるため、ほとんどの言語で例外は取り入れられている。
例えば、関数Aの中から呼び出される、
関数Bの中から呼び出される、関数Cの中から呼び出される
関数Dの中でエラーが起きたら、
関数Aはどうやって処理の途中でエラーが発生したことを
知ればいいのかを考えれば、わかるだろう。
実行時エラーというのは、多くの場合その場で書ける対策コードというは存在しない。
エラーが発生したならば、エラーが起きたと呼び出し元関数に伝えることしか出来ないし必要ない。
ならばそういう動きをする仕組みがあって「何も書かずに」
そういう動きをするならば、安全なコードを簡潔に書けることになる。
0753デフォルトの名無しさん
2015/08/16(日) 20:08:07.04ID:UN3LUXRF0754デフォルトの名無しさん
2015/08/16(日) 20:17:09.58ID:HJiFPNghだから例外で統一してるって基本はそれだけの話
0755デフォルトの名無しさん
2015/08/16(日) 23:59:57.45ID:YMuDhPLHOn Errorを使うなら、必ずそのプロシージャの中でGoTo 0で後始末をしなければいけないと思ってた。
それと、できる限りVBの実行時エラーに頼らず、自分で異常な条件を検出するコードを書くものだと
思ってたがそうでもないか。
VBの実行時エラーは忌まわしいものというイメージで、最大限の回避努力でも不可能なときの最終手段
の扱いをしてた。それなのに、それとは対照的にErr.Raiseで積極的に活用するとは意外だったな。
異常を検出した(自分で検出か、VB実行時エラーかを問わず)ときは、エラー用の終了コードを設定
して、Exit Functionで抜けるのが普通だと思ってた。
クラスのInitializeイベントプロシージャで必要があるときは、モジュール変数に終了コードを代入
してから終了して、その直後は呼び出し元は、その終了コードを返すプロパティプロシージャを呼んで
確認するようにしてた。
0756デフォルトの名無しさん
2015/08/17(月) 01:01:42.63ID:lZpLktaWは可能ですか、不可能ですか。
0757デフォルトの名無しさん
2015/08/17(月) 01:19:13.82ID:lZpLktaW0758デフォルトの名無しさん
2015/08/17(月) 01:33:52.81ID:lZpLktaW戻らなくても、On Error GoTo 0の直後は、呼び出し元で使っていたOn Error
に復帰するようだな。
0759デフォルトの名無しさん
2015/08/17(月) 06:11:20.16ID:nzUWrzDx別に積極的に使ってるんじゃなくて適材適所で使う
0760デフォルトの名無しさん
2015/08/17(月) 10:35:49.32ID:HKx5lNza> On Errorを使うなら、必ずそのプロシージャの中でGoTo 0で後始末をしなければいけないと思ってた。
必要なときだけやればいい。
> 最大限の回避努力でも不可能なときの最終手段
実行時エラーっていうのは、実行時にならないとわからないから「実行時」エラーなんだよ。
だから原則として回避はできないものであり、それが正しい。
> エラー用の終了コードを設定
> して、Exit Functionで抜けるのが普通だと思ってた。
面倒だろ? プログラム言語っていうのは、簡単に記述できるように
改良されてきたのだから、多くの場合、簡単な記述のほうが正しいやり方。
戻り値は戻り値。その戻り値にエラー値を混ぜ込むと、
戻り値なのかエラー値なのはいちいち判定しなければいけなくなるだろ?
で、次君が悩むのは、何が戻り値で、何がエラーなのか?ってことだろうけど、
それは関数名から導き出されるもの。(だから関数名を適当につけてはいけない)
関数っていうのは、どんなものでも実行できて結果が返ってくるもの
もし結果を返せない自体になれば、それは(実行時)エラー。
関数名が、convertToInt(INTに変換)という名前であれば、Intに変換した結果を返す。
返せなければ実行時エラー。
VB.NETにはInt32.TryParse(INTへの変換を試す)という名前の関数があるけど
https://msdn.microsoft.com/en-us/library/f02979c7(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1
これは「試す」という関数なので戻り値はtrue/false。
どちらも似たようなことをしているが、何をするか、何を返すかは関数名によって変わるものなんだよ。
だけれども関数名から示される「やるべきこと」を関数は必ず実行して実行して実行結果を返す。
でなければ実行時エラーにする。
0761デフォルトの名無しさん
2015/08/17(月) 10:40:58.03ID:HKx5lNzaVB6では不可能。
だけれど、ひとつの関数に、複数のOn Errorがあるときは
コードが複雑だって考えた方がいい。
多くの場合、関数一つに対して、
On Errorは全くないか、一個だけ。
そして基本的にフォームにのみOn Errorが存在する。
フォームから呼び出されるモジュールやクラスには
Err.raiseをやっても、On Errorは存在しない。
On Errorが必要なのは、終了処理が必要な場合とか
内部で勝手にリトライする場合とかだけだから。
0762デフォルトの名無しさん
2015/08/17(月) 11:53:08.15ID:ZAOWqUh+> そして基本的にフォームにのみOn Errorが存在する。
> フォームから呼び出されるモジュールやクラスには
> Err.raiseをやっても、On Errorは存在しない。
そんな基本ないし。
エラーが発生する関数内でエラートラップが必要ならOn Error Gotoが必要だし、
そうじゃなければ必要ないというだけのこと。
そして、エラーが発生する関数内でエラートラップが必要になることは、
例外的な話ではない。
0763デフォルトの名無しさん
2015/08/17(月) 11:58:37.90ID:ZAOWqUh+> 実行時エラーというのは、多くの場合その場で書ける対策コードというは存在しない。
その場で書ける対策コードが存在しない場合に限り、実行時エラーが発生するのなら
問題ないが、そうではないコンポーネント多数だよ。
> エラーが発生したならば、エラーが起きたと呼び出し元関数に伝えることしか出来ないし必要ない。
レイヤーが異なるエラーが画面まで戻っても困るんだけど。
0764デフォルトの名無しさん
2015/08/17(月) 12:56:50.84ID:HKx5lNza> エラーが発生する関数内でエラートラップが必要ならOn Error Gotoが必要だし、
どういう時に必要なのかを考えれば
わかること。
On Errorはフォームのイベントハンドラにあれば良い。
殆どの場合、そこで全て処理できる。
> そして、エラーが発生する関数内でエラートラップが必要になることは、
> 例外的な話ではない。
例外的なこと。
どんな時に必要になるのかを行ってみればよい。
それはフォームのイベントハンドラに書いたOn Errorで処理できる
0765デフォルトの名無しさん
2015/08/17(月) 12:58:28.95ID:HKx5lNza> レイヤーが異なるエラーが画面まで戻っても困るんだけど。
通常呼び出し元というのは、レイヤーが異なるもの
(レイヤーが異ならないのはプライベート関数ぐらい)
内部で発生したエラーは、呼び出し元に戻すのが原則
でなければ、呼び出し元は、エラーが発生したことを
知ることができずに、エラーが発生しても
そのまま処理を続行してしまうだろ。
0766デフォルトの名無しさん
2015/08/17(月) 13:01:56.99ID:HKx5lNzaつまり、イベントハンドラから呼び出された関数の中で
発生した例外。(さらにその中の関数も同様)
この例外は基本的にトラップしない。
そうすることでどんなに深くても呼び出し元に
エラーが発生したことを確実に伝えることができる。
内部の関数でトラップする場合は、
なんらかの終了処理が必要な場合。
例えば作成したテンポラリファイルを削除するとか。
そういう風に、例外的にエラーをトラップしたとしても、
そのエラーハンドラの中で終了処理をしたあと
Err.raiseで同じ例外を再送出する。
そうやって、発生した例外を握りつぶさないようするのが原則。
最終的に例外はフォームのイベントハンドラでトラップする。
0767デフォルトの名無しさん
2015/08/17(月) 13:14:11.45ID:xsVtyxk3こういう勘違いしてる人は多いねw
例外なんて呼び出し元で捕捉するのが基本。
こういうこと言う人って、呼び出し階層の最上位のメソッドが、何階層も下で起こった
例外を適切に処理できるはずだとか思ってるのかな
0768デフォルトの名無しさん
2015/08/17(月) 13:16:10.49ID:xsVtyxk30769デフォルトの名無しさん
2015/08/17(月) 13:21:34.22ID:0s7fPOLU低レベルレイヤーで例外がっちり捕まえちゃう馬鹿
0770デフォルトの名無しさん
2015/08/17(月) 13:33:40.79ID:HKx5lNza> 例外を適切に処理できるはずだとか思ってるのかな
呼び出し階層の下の部分では、適切に処理できないから、
呼び出し元に返すんだよ。
何を言ってるんだろうか?
じゃあ一つ問題を出してあげよう。
呼び出し階層の下の部分でデータベースの接続に失敗しました。
呼び出し階層の下の部分は、データベースの失敗に対して
どういう処理をしたらいいでしょうか?
0771デフォルトの名無しさん
2015/08/17(月) 13:46:18.47ID:ZAOWqUh+> 呼び出し階層の下の部分でデータベースの接続に失敗しました。
> 呼び出し階層の下の部分は、データベースの失敗に対して
> どういう処理をしたらいいでしょうか?
データベースに接続できなかったときに実行時エラーを起こすライブラリ/コンポーネントだった場合。
* まずエラーをトラップする
* アプリケーション層向けのエラーメッセージを編集して戻す
* 必要ならエラーログを出力する
* 必要なら接続のリトライを行う
0772デフォルトの名無しさん
2015/08/17(月) 13:52:58.25ID:0s7fPOLU0773デフォルトの名無しさん
2015/08/17(月) 13:56:28.11ID:ZAOWqUh+画面の関数内で、データベースエラーの内容を見て、リトライ可能なエラーだったら
画面の関数内でリトライするのか?
まあそうしてもいいが、そうすると、データベースを使う30画面全てに同じコードが必要になるね。
0774デフォルトの名無しさん
2015/08/17(月) 13:58:32.09ID:HKx5lNzaはい不正解。
>>772
はい正解。
ログを出力するかどうかは呼び出し元が判断する。
ログはファイルかもしれないし、syslogかもしれない。
呼び出しのメッセージは、詳細をエンドユーザーに明らかにしたら
脆弱性につながる可能性があるから、詳細な情報を出すか出さないか、それは呼び出し元が判断する。
リトライするかどうかも呼び出し元が判断する。
何もする必要もないかもしれない。
例えばネットワークが不安定な環境でエラーが出ることが前提
エラーが出たら自動的にバックアップを使うとかね。
何より、リトライ回数がオーバーした時、
呼び出し階層の下の部分では、何をしたらいいか判断できないから
結局呼び出し元に戻りを返すしか無いですよね?
0775デフォルトの名無しさん
2015/08/17(月) 13:59:53.13ID:HKx5lNza> まあそうしてもいいが、そうすると、データベースを使う30画面全てに同じコードが必要になるね。
関数にすればいいだろう。
それよりも、お前、データベースを使う30画面全てで
リトライ処理をするのか?
呼び出し元が判断しないから
お前の作るプログラムはそういう柔軟性が無くなる。
0776デフォルトの名無しさん
2015/08/17(月) 14:02:57.82ID:ZAOWqUh+するのかということと、発生元関数内でエラーとラップが必要かどうかは全く関係ない。
実行時エラーベースにするのであれば、画面がOn Error Gotoでエラートラップしなければ
ならないのは当然のこと。
ただし、自分が発生させる実行時エラーと、ライブラリ/コンポーネントが発生させる
実行時エラーをごっちゃにしてはいけない。
例外クラスを継承して、catchするクラスを指定できる言語とVB6を混同してもいけない。
0777デフォルトの名無しさん
2015/08/17(月) 14:04:57.45ID:HKx5lNzaするのかということと、発生元関数内でエラーとラップが必要かどうかは全く関係ない。
つまり、内部でエラー処理できなければ、
戻り値 or 例外で返すしか無い。
だから「関数の奥深くで処理すればいい」というのは
戻り値でエラーを戻す必要はないということを意味している。
これだけでで反論として成り立つ。
0778デフォルトの名無しさん
2015/08/17(月) 14:06:32.02ID:ZAOWqUh+> 呼び出し階層の下の部分では、何をしたらいいか判断できないから
> 結局呼び出し元に戻りを返すしか無いですよね?
エラーを戻さないとは言ってない。
もちろん最終的にはエラーを戻す。
>>775
> それよりも、お前、データベースを使う30画面全てで
> リトライ処理をするのか?
データベースの接続にリトライが必要だという要件なら、データベースに接続する箇所
全てでリトライをするが。
> 呼び出し元が判断しないから
画面はデータベースの処理詳細なんか知らないんだよ。
0779デフォルトの名無しさん
2015/08/17(月) 14:08:11.09ID:ZAOWqUh+> つまり、内部でエラー処理できなければ、
> 戻り値 or 例外で返すしか無い。
内部でエラー処理をするのと、内部でエラー処理を完結するのでは意味が異なる。
誰も内部でエラー処理を完結するなんて言ってない。
0780デフォルトの名無しさん
2015/08/17(月) 14:10:38.08ID:HKx5lNza「戻り値+エラー値」という型にするのが大変だから生まれた
エラー専用の戻り値と考えればいい。
戻り値でエラーに返すにしても、関数の内部でエラーを処理できるのは
例外中の例外で、戻り値でエラーを返さないといけない。
もし内部でエラーを処理できるのであれば、
戻り値でエラーを返す必要もないということになる。
ここからも「エラーは呼び出し元に戻す必要がある」ということになる。
その戻す方法が、戻り値にエラーを混ぜ込んで、呼び出し元に返して
呼び出し元で正常な戻り値とエラーを分離して
エラーだったら更に呼び出し元に返すという処理を書くか、
デフォルトでそれらを自動でやってくれる実行時エラーを使うかの違いしか無い。
もちろんより簡単なのはデフォルトでやってくれる方法。
もちろんデフォルトであって変えようと思えば変えられる。
0781デフォルトの名無しさん
2015/08/17(月) 14:12:13.15ID:HKx5lNza> データベースの接続にリトライが必要だという要件なら、データベースに接続する箇所
> 全てでリトライをするが。
要件は「一部のみリトライ処理が必要」だ
> 画面はデータベースの処理詳細なんか知らないんだよ。
お前が書いた、その対応方法は
データベースの処理詳細なんか知らなくてもできるが?w
ログを取る・・・データベースの詳細しらなくてできる。
リトライ・・・データベースの詳細しらなくてできる。
お前、俺を笑わかすきかw
0782デフォルトの名無しさん
2015/08/17(月) 14:13:18.69ID:HKx5lNza> 誰も内部でエラー処理を完結するなんて言ってない。
殆どの場合、内部でエラー処理を完結できない。
だから呼び出し元にエラーを返す。
それをデフォルトで行うのが実行時エラー。
0783デフォルトの名無しさん
2015/08/17(月) 14:22:00.28ID:ZAOWqUh+> ログを取る・・・データベースの詳細しらなくてできる。
適切なログ出力内容は、それぞれのライブラリ/コンポーネントごとに異なるなる。
また、ユーザレベルのエラーメッセージ生成も、それぞれのライブラリ/コンポーネントごとに異なるなる。
故に、それらは画面からの呼び出し先でやる方が良い。
> リトライ・・・データベースの詳細しらなくてできる。
いや、できないね。
ローカルMDBをオープンして使う場合と、リモートのSQL Serverに接続するのでは、エラー処理が異なる。
また、後者の場合でも、接続リトライ可能かどうかはエラー内容による。
画面の関数内で、下位で使う全てのライブラリ/コンポーネントを把握して、適切なエラー処理を
画面の関数内でやるのか?
>>782
> 殆どの場合、内部でエラー処理を完結できない。
> だから呼び出し元にエラーを返す。
それには別に異論はないが。
0784デフォルトの名無しさん
2015/08/17(月) 14:26:40.23ID:HKx5lNzaお前の各プログラムがクソすぎてワロタw
え?なに?
下位でMDBを使うか、SQL Serverを使うかで
上位の呼び出し元のコードが、違うコードになるわけ?
そういうことだよな?
お前の書いたコードは。
下位で何を使うが、上位はそのことを意識する必要がないように設計する。
これが普通なんだが、
お前は下位で何を使われるかによって、上位のコードが変わるって
言ってるわけだ。
クソすぎ
0785デフォルトの名無しさん
2015/08/17(月) 14:29:09.37ID:ZAOWqUh+なんか勘違いしてるようだが。
> 下位でMDBを使うか、SQL Serverを使うかで
> 上位の呼び出し元のコードが、違うコードになるわけ?
そうならないように、画面から呼び出す関数内で適切なエラー処理をしてから戻せと言ってる。
で、使用するライブラリ/コンポーネントが実行時エラーを起こす場合は、その呼び出し先で
On Error Gotoが必要。
なので、
>>761
> そして基本的にフォームにのみOn Errorが存在する。
> フォームから呼び出されるモジュールやクラスには
> Err.raiseをやっても、On Errorは存在しない。
そんな基本ないし。
(ループ)
0786デフォルトの名無しさん
2015/08/17(月) 14:33:27.80ID:rLKFJTDKだから、「画面から呼び出す関数内で適切なエラー処理」ってなんだよ?
適切かどうかは、戻り側しかわからないって言ってるだろ。
ログもそうだり、リトライするかどうかも
戻り側でしか判断できない。
お前が言ったことが呼び出し元で判断するべきだったことかもわかるように
内部で適切なエラー処理はできないから、呼び出し元に変えるのが原則。
呼び出し元って言ったらフォームのイベントハンドラ。
だから基本的に「き・ほ・ん・て・き」にフォームにのみ
On Errorが存在する。フォームから呼び出されるモジュールや
クラスにはErr.raiseをやっても、On Errorは存在しない。って
書いてるんだろうが。
0787デフォルトの名無しさん
2015/08/17(月) 14:34:47.97ID:rLKFJTDK俺が>>761に書いている。
>>761
> 多くの場合、関数一つに対して、
> On Errorは全くないか、一個だけ。
>
> そして基本的にフォームにのみOn Errorが存在する。
> フォームから呼び出されるモジュールやクラスには
> Err.raiseをやっても、On Errorは存在しない。
>
> On Errorが必要なのは、終了処理が必要な場合とか
> 内部で勝手にリトライする場合とかだけだから。
0788デフォルトの名無しさん
2015/08/17(月) 14:39:32.99ID:ZAOWqUh+> ログもそうだり、リトライするかどうかも
> 戻り側でしか判断できない。
いやだから、データベースの接続の話で言えば、接続スキームごとの処理なんて
画面の関数内じゃ適切な判断はできないだろって。
言ってることがわかんないかな。
> 呼び出し元って言ったらフォームのイベントハンドラ。
> だから基本的に「き・ほ・ん・て・き」にフォームにのみ
だからそんな基本ないし。
On Error Gotoは必要な場所に書けば良い。
Formのイベントハンドラ以外でも。
0789デフォルトの名無しさん
2015/08/17(月) 14:47:30.95ID:rLKFJTDK> いやだから、データベースの接続の話で言えば、接続スキームごとの処理なんて
> 画面の関数内じゃ適切な判断はできないだろって。
画面の関数で接続スキームをい考慮する必要が無いように作るんだよ。
お前設計ってわかってるか?
適当に作って長くなったら関数に分ける
程度のことしかしてねーだろ。
> > 呼び出し元って言ったらフォームのイベントハンドラ。
> > だから基本的に「き・ほ・ん・て・き」にフォームにのみ
> だからそんな基本ないし。
あ、基本的と基本の違いがわからない?
0790デフォルトの名無しさん
2015/08/17(月) 14:53:35.09ID:ZAOWqUh+> 画面の関数で接続スキームをい考慮する必要が無いように作るんだよ。
そうだよ。そういってるじゃん。
画面から呼び出す関数内でエラー処理しろって。
逆に、画面から呼び出す関数内でエラー処理しなければ、画面の関数内の
On Error Gotoの飛び先に、下位で使用するライブラリ/モジュールが発する
実行時エラーやVBのランタイムエラー全てが集まるんだが。
これでどうやって適切なエラー処理ができるのかと。
0791デフォルトの名無しさん
2015/08/17(月) 15:05:17.90ID:Z0BDbNEv0792デフォルトの名無しさん
2015/08/17(月) 15:10:46.09ID:5qFxOqag0793デフォルトの名無しさん
2015/08/17(月) 15:31:28.18ID:w34N0MApだから直上の呼びたし元の責任だって言ってるでしょ。
何階層も下で起こった例外を全部想定して適切な処理なんかできるのかよ。
できるわけないだろ。
出来るのはただ例外を捕捉することだけ。
これも勘違いしてる奴が多いけど、そういうのを俗に「握りつぶす」って言うんだよ。
0794デフォルトの名無しさん
2015/08/17(月) 19:42:56.83ID:rLKFJTDKだから「エラー処理」の内容はなんだよ?
ログを出力するのは、関数内でやることじゃない。
リトライ処理も、関数内でやることじゃない。
お前は何をやるつもりだ?
>>793
> 何階層も下で起こった例外を全部想定して適切な処理なんかできるのかよ。
「適切な処理」の内容はなんだよ?
例外っていうのは、基本的に関数内でやれることは何もない。
あくまで基本的にな。
戻り値を返すのと同じように、上に例外を返すしか
することはないんだよ。
あくまで基本的にな。
0795デフォルトの名無しさん
2015/08/17(月) 19:48:56.10ID:rLKFJTDK馬鹿「なるほど画面から呼び出す関数内でエラー処理しろって意味か」
何なんだろうねw
0796デフォルトの名無しさん
2015/08/17(月) 19:50:38.54ID:rLKFJTDK> 実行時エラーやVBのランタイムエラー全てが集まるんだが。
> これでどうやって適切なエラー処理ができるのかと。
戻り値でも実行時エラーでも同じだが、
エラーの種類(エラー番号)を取得して
それに応じて処理を書けばいい。
0797デフォルトの名無しさん
2015/08/17(月) 19:55:59.41ID:rLKFJTDK> 出来るのはただ例外を捕捉することだけ。
> これも勘違いしてる奴が多いけど、そういうのを俗に「握りつぶす」って言うんだよ。
握りつぶすっていうのは、下の階層で起こった例外を
捉えて、その例外を再送出しないこと。
例外が起こっているのに、上の階層で例外が起こったことが
わからなくすることを「握りつぶす」という。
殆どの場合、例外は常に上の層に戻さなければならない。
最終的にイベントハンドラがそれをキャッチして
画面・ログなどにエラーが発生したことを記録する。
例外が起きても基本的にやれることは何もないので、
フォームにのみOn Errorを書いて、
関数内ではOn Errorは必要ない。
あくまで基本的にだから、>>721にこのように書いている。
> On Errorが必要なのは、終了処理が必要な場合とか
> 内部で勝手にリトライする場合とかだけだから。
0798デフォルトの名無しさん
2015/08/17(月) 20:07:37.91ID:dWGxJI3I0799デフォルトの名無しさん
2015/08/17(月) 20:13:29.02ID:rLKFJTDK全くだよw
On Errorなんて必要な時に書けばいいだけ。
起きた例外を下位の関数で処理することは殆ど無いのだから
俺は基本的に何も書かなくていいと言ってる。
何も書かない=コード量は少ない。
0800デフォルトの名無しさん
2015/08/17(月) 23:12:37.04ID:JZR2Z4Qh何か全然会話になってないなw
こっちは例外処理は通常は直接の呼び出し元でやるものだと言ってるのに、
関数内で出来ないから例外投げてるんだとか反論になってないし何を言ってるのかさっぱり分からん。
>>797
お宅も簡単な話が分からないお方。
だから、呼び出し階層の何階層も下で発生した例外に対して適切な処理なんかできるわけないだろ。
出来るのは単に捕捉して何もしないだけ。
そういうのを俗に「握りつぶす」って言うんだよ。
0801デフォルトの名無しさん
2015/08/17(月) 23:13:39.65ID:JZR2Z4Qh0802デフォルトの名無しさん
2015/08/17(月) 23:16:10.46ID:nzUWrzDxシュチュエーションにもよるかも知れないけど、
そもそもDBを扱うとこらへんでエラーとか起こす場合って
別クラスにして委譲(VB6では委託?)でやらない?
そこの役割に併せて振る舞いなんて変わるもんなんだろうと思うし。
画面の情報が必要な場合は委譲先に画面の参照を渡してやれば別にBLの中で始末出来ると思うんだけど。
考え方おかしい?
0803デフォルトの名無しさん
2015/08/18(火) 00:15:54.45ID:jyJvXHy3だからお前の言う「例外処理」の中身が何かを言えれば
問題は解決するんだよ。
ログは呼び出し元でやる。
リトライも呼び出し元である。
なぜならログに出すかどうかは
リトライするかどうかは呼び出し元がが決めることで
勝手にやることじゃないからだ。
お前の言う「例外処理」の中身はなんだよ。
見つからないから言えないだろ
> だから、呼び出し階層の何階層も下で発生した例外に対して適切な処理なんかできるわけないだろ。
だからお前の言う「適切な処理」ってなんだよ。
さっき聞いたら、ログとかリトライとか
間違った答えを言ったよな?
0804デフォルトの名無しさん
2015/08/18(火) 00:16:07.07ID:XBdAgPin必要ならgoto 0で囲むでほぼ問題ないけどな
0805デフォルトの名無しさん
2015/08/18(火) 00:17:32.02ID:jyJvXHy3> 出来るのは単に捕捉して何もしないだけ。
俺は原則として捕捉すんなって言ってんの。
イベントハンドラ以外でOn Errorを書かないって言ってるんだから
そういうことだろ。
なんで捕捉するんだよ。
捕捉したってできることなにもねーだろ。
あるというのならその具体的な中身
言ってみろって。
0806デフォルトの名無しさん
2015/08/18(火) 00:19:32.93ID:idKk+WSRすぐに並び変わってしまうんだが
何とかならんのか?
Dim rs As New ADODB.Recordset
Dim i As Long
rs.Fields.Append "f1", adVarWChar, 50
rs.Open
For i = Asc("a") To Asc("e")
rs.AddNew "f1", Chr(i)
Next
rs.Sort = "f1 DESC"
Do While Not rs.EOF
MsgBox rs.AbsolutePosition & ": " & rs("f1").Value
If rs("f1").Value = "c" Then
rs("f1").Value = "z"
rs.Update
MsgBox "update後: " & rs.AbsolutePosition & ": " & rs("f1").Value
End If
rs.MoveNext
Loop
0807デフォルトの名無しさん
2015/08/18(火) 00:20:08.58ID:jyJvXHy3> VBって例外でしか帰ってこないオブジェクトなんてざらだし
例外でしか帰ってこないんじゃなくて
エラーは例外で返すのが正しいやり方だからだよ。
内部で発生したエラーは何もすることがなければ
内部でトラップする必要もない。
内部で何かすることがあれば別だが
基本的に何もない。
だから内部でトラップする必要はないし、
例外は呼び出し元で処理する。
ちなみに俺が言ってる処理の内容とは
ログに保存するとかリトライのために再実行するとかだな。
0808デフォルトの名無しさん
2015/08/18(火) 00:24:44.04ID:XBdAgPin0809デフォルトの名無しさん
2015/08/18(火) 00:25:20.58ID:jyJvXHy30810806
2015/08/18(火) 00:25:33.69ID:idKk+WSRどんどん減っちゃう
Dim rs As New ADODB.Recordset
Dim i As Long
rs.Fields.Append "f1", adVarWChar, 50
rs.Open
For i = 1 To 5
rs.AddNew "f1", "a"
Next
rs.Filter = "f1='a'"
Do While Not rs.EOF
MsgBox rs.RecordCount
If rs.AbsolutePosition = 3 Then
rs("f1").Value = "z"
rs.Update
MsgBox "update後: " & rs.RecordCount
End If
rs.MoveNext
Loop
0811デフォルトの名無しさん
2015/08/18(火) 00:26:43.68ID:jyJvXHy3>>761で俺が言ったことを再掲しておこう。
761 自分:デフォルトの名無しさん[sage] 投稿日:2015/08/17(月) 10:40:58.03 ID:HKx5lNza [2/13]
>>756
VB6では不可能。
だけれど、ひとつの関数に、複数のOn Errorがあるときは
コードが複雑だって考えた方がいい。
多くの場合、関数一つに対して、
On Errorは全くないか、一個だけ。
そして基本的にフォームにのみOn Errorが存在する。
フォームから呼び出されるモジュールやクラスには
Err.raiseをやっても、On Errorは存在しない。
On Errorが必要なのは、終了処理が必要な場合とか
内部で勝手にリトライする場合とかだけだから。
0812デフォルトの名無しさん
2015/08/18(火) 00:45:21.31ID:UD1h5Kxm素朴な疑問なんだけどさ、
sql1を実行して結果セットを取得しようとして、
何らかしらの要因で実行時エラーが発生したとき、代替としてsql2の結果セットを
取得したい場合はどうするの?
0813デフォルトの名無しさん
2015/08/18(火) 00:53:31.94ID:jyJvXHy3こう書けばいいじゃん?
VB6を使っていたのはもうずっと昔だから
細かい構文は所は言いっこなしな。
Private Sub Button1_Click()
Dim ret As MyResult
On Error Goto Failback
Set ret = foo()
PrintData(ret)
Exit Sub
Failback:
On Error Goto ErrHandler
Set ret = bar()
PrintData(ret)
Exit Sub
ErrHandler:
ErrorLog(Err)
End Sub
> 何らかしらの要因で実行時エラーが発生したとき
実行時エラーの種類は問わないってことでいいよね?
問う場合は、エラー番号で処理を変えるだけだけど。
0814デフォルトの名無しさん
2015/08/18(火) 00:57:26.53ID:jyJvXHy3> 何らかしらの要因で実行時エラーが発生したとき、代替としてsql2の結果セットを
> 取得したい場合はどうするの?
代替の結果セットを使うという処理を透過的。
つまり内部で発生したsql1の結果セット取得のエラー発生を
握りつぶしたい。という場合なら、内部でやるのが正しい。
だがそういうことは例外中の例外。
まずそんな要件が必要になることは殆ど無いない。
だから、基本的に内部でエラーのトラップはしないと
言ったんだ。
0815デフォルトの名無しさん
2015/08/18(火) 01:07:22.67ID:UD1h5Kxmえー?一つの関数の中にエラーの分岐を2箇所も書くの?抵抗あるなぁ。
あと、こう言うのは仕事場によっては殆どないところもあるけど、
仕事場によっては3.11以来、何げに多用しているところもあるみたいだよ。
0816デフォルトの名無しさん
2015/08/18(火) 01:08:42.63ID:jyJvXHy3多用するならヘルパー関数を用意すればいいだけ。
そういうのは例外なんで
例外の話を持ちだしても意味は無いよ。
0817デフォルトの名無しさん
2015/08/18(火) 01:26:42.47ID:UD1h5Kxm例外?何を基準に例外と言ってるんだろう。
結構やってるところは見掛けるけど。
わざわざヘルパー関数持ちださなくても関数切り出して呼び出し元、
または呼び出し元が呼んでる別関数やメソッドで簡単に始末付けられると思うんだけど、
何かこだわりがあるの?
0818デフォルトの名無しさん
2015/08/18(火) 01:30:38.65ID:jyJvXHy3> 例外?何を基準に例外と言ってるんだろう。
世の中のオープンソースのコード。
でいいんじゃない?
言語が違ってもやりかたは一緒。
見かけるというのなら、オープンソースという
誰もが検証可能な方法で見せてよ。
関数が1000個あったとすれば、
そんなエラーの時に代替関数を呼ぶ
なんてコードは1個あるかどうかでしょう?
0819デフォルトの名無しさん
2015/08/18(火) 01:34:46.76ID:jyJvXHy3> 何かこだわりがあるの?
そりゃあるでしょw
プログラムっていうのは簡単に複雑になるのだから
よりシンプルになる方法にしないといけない。
よりシンプルっていうのはひとつの関数が
やる役割は一つであるということ。
sql1の結果を返す関数、sql2の結果を返す関数
フォールバック関数。にそれぞれわけて
それぞれの関数を単体テストを行う。
そうすればフォールバック処理を行う関数が
いくらあったとしても、フォールバック部分の
単体テストコードは一つで良くなる。
よりシンプルにするため、関数内で勝手にフォールバックを
行うという処理は極力避けないといけない。
0820デフォルトの名無しさん
2015/08/18(火) 01:35:32.92ID:UD1h5Kxmあと、握り潰すにしても何か処理を行って握り潰したり、何もしないで握り潰す場合もあるから、
戻りもどの関数を抜けたかログに出すことがあると思うんだけど、
そう言うのも例外?
0821デフォルトの名無しさん
2015/08/18(火) 01:44:41.58ID:UD1h5Kxm関数に役割を持たせる?
役割を持つのはクラスであって、メソッドはその振る舞いではないの?
まあ、それぞれ単体テストをして、と言うのは同意だけど。
でもVB6にNUNITやJUNITみたいなもんってあったっけ?
0822デフォルトの名無しさん
2015/08/18(火) 01:46:16.89ID:jyJvXHy3Err.souceとかerlで取得すればいいじゃん?
0823デフォルトの名無しさん
2015/08/18(火) 01:47:01.25ID:jyJvXHy3> でもVB6にNUNITやJUNITみたいなもんってあったっけ?
vbUnitがあるだろ
0824デフォルトの名無しさん
2015/08/18(火) 01:58:24.84ID:UD1h5Kxm>>823
そう言うのがあるとは知らんかったわ。
試してないけど抜けた関数の履歴とか取れるんだ。勉強になったわ。
ところでVB6でDelegateの代替方法知らない?
都度クラスとインターフェース作ってもいいけど、VB6のVBEはフォルダ階層もてないし、管理が大変だし
Delegateなら細やかな設定が出来るからもし知ってたら教えて欲しい。
まぁもう寝るからまた明日。
0825デフォルトの名無しさん
2015/08/18(火) 02:01:38.78ID:SkfpggCPもう使われてない古い言語のスレが伸びるとは
お前らお盆休みはもっと有効に使えよ
0826デフォルトの名無しさん
2015/08/18(火) 03:24:35.49ID:ZPt7Io5y例外処理の中身なんて例外ごとに違うのに具体的に言えるわけがない。
>>805
例外を捕捉して適切に処理しない(もちろんそれで十分適切なケースもありうるが)のは
例外を握りつぶしているのと同じ。
馬鹿じゃないのか。
大丈夫かVBer。
0827デフォルトの名無しさん
2015/08/18(火) 09:21:28.90ID:+rFwHajx0828デフォルトの名無しさん
2015/08/18(火) 10:42:52.32ID:sD6hS5G8> なんで捕捉するんだよ。
> 捕捉したってできることなにもねーだろ。
ファイルオープンエラーが発生したとき、Errにはエラー番号とその番号に対応したメッセージしか入っていない。
どこで、何のファイルを、どうオープンしようとしたかを取得できないし、もちろんスタックトレースも取れない。
呼び出し先で送信メッセージを構築してどこかに何かの手段で送信するとき、そのメソッド内でトラップしなければ
どこに何を送信しようとしたときに、どういうエラーが起こったのか、あるいは内容がエラーの受信メッセージも
失われるだろう。
要するに、実行時エラーが発生する可能性があるメソッドを呼び出すメソッドでは、基本的にOn Error Gotoで
エラーをトラップしなければならない。
ログ出力一つとっても、そのメソッド内でしか適切なログは出力できない。
0829デフォルトの名無しさん
2015/08/18(火) 10:51:30.64ID:sD6hS5G8> ErrHandler:
> ErrorLog(Err)
> End Sub
このErrには何が入っている?
foo()で失敗したのか、bar()で失敗したのか、クエリの内容は何なのか、パラメータは何だったのか
さっぱりわからない。
それとも、データベースアクセスするときは、ログ出力用にグローバルに何かを保存しておくのか?
0830デフォルトの名無しさん
2015/08/18(火) 10:55:32.37ID:sD6hS5G8Private Sub Button1_Click()
On Error Goto Failback
Set ret = foo()
Exit Sub
Failback:
On Error Goto ErrHandler
Set ret = bar()
Exit Sub
ErrHandler:
ErrorLog(Err)
End Sub
という構造か。
bar()で失敗したことはわかるが、いずれにしてもエラーの詳細情報はわからない。
0831デフォルトの名無しさん
2015/08/18(火) 11:01:19.55ID:sD6hS5G8Private Sub Button1_Click()
On Error Goto ErrHandler
foo()
Exit Sub
ErrHandler:
'何らかのエラー処理
End Sub
foo()の中で要トランザクションなデータベースアクセスをするとする。
正しく処理が終了すればcommitするし、エラーが発生すればrollbackする。
問題は、一意性制約違反などのような場合も、実行時エラーが発生するような場合だ。
このとき、トランザクション処理は、どこにどういう風に実装するのか?
0832デフォルトの名無しさん
2015/08/18(火) 11:15:09.60ID:sD6hS5G8ひとつは、下位の実装詳細が染み出ている点。
この実装方針では、○○処理を行うときのデータベースアクセス内容(実装詳細)が変更になったとき、
Formのコードを変更する必要がある。
もうひとつは、テスト容易性の問題。
トランザクション処理をどう実装するつもりなのかわからないが、このままだと自動テストを書こうと思っても、
「foo(), bar()を呼び出す処理」を呼び出すことができない。
0833デフォルトの名無しさん
2015/08/18(火) 22:46:33.49ID:jyJvXHy3> 例外処理の中身なんて例外ごとに違うのに具体的に言えるわけがない。
自分で適当な例を作ればいいだろ。
0834デフォルトの名無しさん
2015/08/18(火) 22:48:27.52ID:jyJvXHy3> ファイルオープンエラーが発生したとき、Errにはエラー番号とその番号に対応したメッセージしか入っていない。
> どこで、何のファイルを、どうオープンしようとしたかを取得できないし、もちろんスタックトレースも取れない。
取れるようにすればいいだけじゃん。
しかも、別に取れなくても動作には問題ない。
その機能はオプションだ。
0835デフォルトの名無しさん
2015/08/18(火) 22:58:32.11ID:jyJvXHy3その例ではfoo()という関数がデータベースを扱っている。
だがfoo()だけでで終わるプログラムはないだろう。bar()やbaz()も存在する。
さて、その例ではfoo()だけを呼んでいるが、
foo()とbar()を実行するとしたらどうなるか?
foo()の中でcommit()してはならないことが多いだろう。
foo()とbar()の両方の処理ができた時commit()を行う。
つまりfoo()やbar()やbaz()関数の中でcommit()やrollback()を
行うのは間違いだということだ。
また外にあることからわかるようにデータベースの接続は関数の引数として渡す。
もちろんクラスにしてインスタンスプロパティとして持たせても良い。
つまり回答はこういうことだ
Private Sub Button1_Click()
On Error Goto ErrHandler
Set conn = new DBConnection
Set logic = new DBLogic
logic.conn = conn
conn.begin();
logic.foo()
logic.bar()
conn.commit();
Exit Sub
ErrHandler:
conn.rollback();
End Sub
0836デフォルトの名無しさん
2015/08/18(火) 23:04:46.25ID:jyJvXHy3Private Sub Button1_Click()
On Error Goto ErrHandler
Set res = new Resource
Set logic = new Logic
logic.res = res
res.init();
logic.foo()
logic.bar()
res.save();
Exit Sub
ErrHandler:
res.reset();
End Sub
このコードは内部でデータベースを使うかどうかは関係ない。
ファイルを使っても実装可能。
本来コネクション(リソース)と
そのコネクション(リソース)を使ったロジックは分けるべきもので、
実際各種ライブラリを見れば分かれている。
commitやrollbackは関数内部で呼び出すものじゃない。
そういうことをすると関数に汎用性がなくなり
別の箇所で使いづらくなってしまう。
0837デフォルトの名無しさん
2015/08/18(火) 23:10:47.20ID:jyJvXHy3> ファイルオープンエラーが発生したとき、Errにはエラー番号とその番号に対応したメッセージしか入っていない。
> どこで、何のファイルを、どうオープンしようとしたかを取得できないし、もちろんスタックトレースも取れない。
これに関してはVBの問題でもある。
この(不完全な)解決策を俺は知っているが、
あんたはどう書くつもりかね?
特にスタックトレースとか、
あんたなら取れるっていうんだろう?
>>834でも書いたように、この機能はオプションだ。
だから欲しいならば追加で書けばいい。
だが書かなくてもいい。情報が得られないだけで正しく動く。
俺の言うとおりの例外を書き方をしていればね。
0838デフォルトの名無しさん
2015/08/19(水) 02:13:36.55ID:7dO1dSWy適材適所でいいような気がするんだけどなー。
その場でただログ出せばいいだけならエラー出したメソッドで始末してもいいし、
色々深ーい複数のメソッドでDBに登録していてエラーでロールバックするなら、
トランザクション切ったのと同じ階層で捕まえたいときもあるだろうし、
よく分からないけどまた他の場面だと画面で捕まえたいときもあるんじゃないの?
必ずどっちかでやろうというのは処理の一貫性は取れるかも知れないけど、
ちょっと頭固いかも知れないよ。
0839デフォルトの名無しさん
2015/08/19(水) 10:11:00.26ID:P9UlQ5Ns> これに関してはVBの問題でもある。
そう。
だから、*VB6*では、実行時エラーを発生する可能性があるメソッドを呼び出す場合は、
基本的にそのメソッド内でエラーをトラップしなければ、まともなログ一つ出力できない。
あくまでも、VB6の実装方針の話だ。
> だが書かなくてもいい。情報が得られないだけで正しく動く。
情報が得られないのは致命的だと俺は思うが、そうは思わないのだとしたらこのやりとりに
意味は全くない。
0840デフォルトの名無しさん
2015/08/19(水) 10:13:45.74ID:P9UlQ5Ns> なんか実装詳細とかいっているからこう訂正しておこう
実装詳細と言っているのは、アーキテクチャレベルでデータベースを使うかどうかや、
○○処理をするには「foo()を実行し、エラーならbar()を実行する」という内容のこと。
○○処理をするのに、「foo()を実行し、エラーならbar()を実行すし、最後にbaz()
を実行する」に変更になったとき、そのロジックがFrom内にしか存在しないのは問題とは
思わないか?
0841デフォルトの名無しさん
2015/08/19(水) 10:24:28.70ID:P9UlQ5Ns> いやー、画面側でエラー取っ捕まえようが、内部でとっ捕まえようが、
> 適材適所でいいような気がするんだけどなー。
>
> 必ずどっちかでやろうというのは処理の一貫性は取れるかも知れないけど、
> ちょっと頭固いかも知れないよ。
全く同意。
なんでOn Error GotoをFormのメソッドにしか書いてはいけないと思っているのか、意味がわからない。
0842デフォルトの名無しさん
2015/08/19(水) 13:34:47.50ID:xc/++r0f> だから、*VB6*では、実行時エラーを発生する可能性があるメソッドを呼び出す場合は、
> 基本的にそのメソッド内でエラーをトラップしなければ、まともなログ一つ出力できない。
トラップしたらまともなログが出せるっていうの?
スタックトレースはトラップしても出せないよね?
それに「まともなログ」はオプションって言ったとおり。
まともなログは出さなくてもいい。
だから「基本」ではトラップは必要ないんだよ
0843デフォルトの名無しさん
2015/08/19(水) 13:36:24.21ID:xc/++r0f> なんでOn Error GotoをFormのメソッドにしか書いてはいけないと思っているのか、意味がわからない。
書いてはいけないとは言っていない。
なんで勘違いしているのか、こっちのほうが意味がわからない。
↓ 見ての通り基本的には存在しないといってる。
761 自分:デフォルトの名無しさん[sage] 投稿日:2015/08/17(月) 10:40:58.03 ID:HKx5lNza [2/13]
>>756
VB6では不可能。
だけれど、ひとつの関数に、複数のOn Errorがあるときは
コードが複雑だって考えた方がいい。
多くの場合、関数一つに対して、
On Errorは全くないか、一個だけ。
そして基本的にフォームにのみOn Errorが存在する。
フォームから呼び出されるモジュールやクラスには
Err.raiseをやっても、On Errorは存在しない。
On Errorが必要なのは、終了処理が必要な場合とか
内部で勝手にリトライする場合とかだけだから。
0844デフォルトの名無しさん
2015/08/19(水) 13:52:46.45ID:P9UlQ5Ns> トラップしたらまともなログが出せるっていうの?
出せますね。
> スタックトレースはトラップしても出せないよね?
スタックトレースが取れないからこそ、実行時エラーが発生する可能性があるメソッド内でエラーを
トラップして、少しでもまともなログを出力すべきだと言ってる。
> まともなログは出さなくてもいい。
そういうことですか。
なら、この一連の議論に何の意味もありませんな。
0845デフォルトの名無しさん
2015/08/19(水) 13:55:00.62ID:P9UlQ5Ns> 書いてはいけないとは言っていない。
そういう言葉遊びはしたくないんですが。
> ↓ 見ての通り基本的には存在しないといってる。
だから、そんな基本なんかないって初めから言ってるでしょう。
On Error Gotoは必要な場所で書けば良い。
これまで対話してわかったのは、君がForm以外で「必要」だと思うことがなかったということ。
なので、これ以上話しても意味ないね。
0846デフォルトの名無しさん
2015/08/19(水) 13:57:37.40ID:P9UlQ5Ns> だから「基本」ではトラップは必要ないんだよ
まぁ、その「基本」は、プロが書くプロダクションレベルに達してないと言っておきましょか。
俺はプロが相手だと思ってたんだが、どうもそうじゃないらしい。
0847デフォルトの名無しさん
2015/08/19(水) 14:03:09.81ID:7dO1dSWy何かあったとき事象の確定と原因の解明に時間掛かりそう。
0848デフォルトの名無しさん
2015/08/19(水) 14:05:50.40ID:P9UlQ5Nsまともなログなんて出さなくていいって人だなんて思わなかったら、無駄な議論をしてしまった。
0849デフォルトの名無しさん
2015/08/19(水) 14:37:25.12ID:y8EVHyLD0850デフォルトの名無しさん
2015/08/19(水) 17:25:41.76ID:iYQ3AJrP読んでる途中に抜かれてしまうことだってあるわけで
そういう、どうしても必要な狭い範囲で使わないといけない
0851デフォルトの名無しさん
2015/08/19(水) 19:56:27.86ID:xc/++r0f> スタックトレースが取れないからこそ、実行時エラーが発生する可能性があるメソッド内でエラーを
> トラップして、少しでもまともなログを出力すべきだと言ってる。
えー、スタックトレース取れるとか言ったくせに
取れないのかよ。嘘つきだな。
まともなログを出力するべきということに反対はしないが、
別にまともなログを出力しなくても動作はする。
0852デフォルトの名無しさん
2015/08/19(水) 19:57:59.66ID:xc/++r0fだから基本的にって言ってるだろ。
なんで応用でログ詳細に出す場合は〜って言ってるんだよw.
ログ出さなくても動くだろ。
違うか?
正しく動く最小限のものを
基本っていうんだよ。
基本的なことだろw
0853デフォルトの名無しさん
2015/08/19(水) 20:01:18.66ID:ac5UfI6non error でとってももっかいerr.raiseすりゃーいいだけで
それをやらないやつがダメってだけでそ
0854デフォルトの名無しさん
2015/08/19(水) 20:03:06.50ID:xc/++r0fまず、基本として、フォームにのみOn Errorを書く。
そして応用として、フォーム以外に書いたOn Errorは
トラップしたあと、任意の処理をして
またErr.raiseをして実行維持エラーを発生される。
具体的なコードはこうなる。VB6を使っていたのは
もうずっと昔だから細かい構文は所は言いっこなしな。
まず基本。フォームにOn Errorを書く。
詳細なログとかが必要なければこれだけで正しく動く。
Private Sub Button1_Click()
On Error Goto ErrHandler
foo()
Exit Sub
ErrHandler:
ErrorLog(Err)
End Sub
0855デフォルトの名無しさん
2015/08/19(水) 20:08:48.69ID:xc/++r0ffoo()の中をこのように書く。
(手抜き。真面目にやる場合もう少し工夫が必要)
Private Sub foo()
On Error Resume Next
hoge()
If Err.Number Then
' ここで新しいnumberとかsourceとかdescriptを生成する
Err.Raise number, source, description
End If
hage()
If Err.Number Then
' 同じくここで新しいnumberとかsourceとかdescriptを生成する
Err.Raise number, source, description
End If
End Sub
On Error Resume NextではなくOn Error Gotoを使用してもいいが
On Error Gotoを使う意図しない場所でエラーが発生しても、
同じ場所でトラップしてしまうため、Resume Nextの方がやりやすい。
くれぐれも言っておくが、原則として関数の中でエラーをトラップして
戻り値でエラーを返してはいけない。
特に理由がない限り、エラーをトラップして、また実行時エラーにして
呼び出し元に返す。
この原則を守っていれば、基本のコードから、応用のコードに
スムーズに発展させていくことができる。
0856デフォルトの名無しさん
2015/08/19(水) 20:20:04.74ID:6kLJyeKe> よく分かんないけど、エラー時にまともなログ出してなかったら、
> 何かあったとき事象の確定と原因の解明に時間掛かりそう。
そのとおりだよ。だからプロダクトレベルにするときは
応用としてまともなログを出すようにする。
今俺が言ってるのは基本の話。
どうもそのことを理解できない人がいるようで(笑)
VBがエラーメッセージを出しているので
基本としてはそれをログとして表示すればいい。
もっと情報が必要なら、コードを追加する。
0857デフォルトの名無しさん
2015/08/19(水) 21:34:27.63ID:SDK3VImY0858デフォルトの名無しさん
2015/08/19(水) 22:17:26.31ID:KQqDAI1l0859デフォルトの名無しさん
2015/08/19(水) 22:57:36.29ID:Dk4EiQkJそれぞれのErr.Raiseの直後にExit Subが必要なのでは
0860デフォルトの名無しさん
2015/08/20(木) 01:45:36.47ID:cwNl45xz>くれぐれも言っておくが、原則として関数の中でエラーをトラップして
>戻り値でエラーを返してはいけない。
>特に理由がない限り、エラーをトラップして、また実行時エラーにして
>呼び出し元に返す。
これは何で?
0861デフォルトの名無しさん
2015/08/20(木) 01:50:02.90ID:cwNl45xzそれはエラーをRaizeしたら次のトラップにすっ飛ぶだろうから無問題だと思うよ
0862デフォルトの名無しさん
2015/08/20(木) 02:14:50.32ID:cwNl45xz後、蛇足だけど、手抜きとか真面目にやるにはもう少し工夫が必要とか、そのレベルの前に
> If Err.Number Then
の記述はTrue、FalseはあくまでBooleanでErr.Numberに対して暗黙の変換で0ならFalse、それ以外は
Trueになるということを知ってることが前提の記述だから、ちょっと不親切だとは思った。
ま、俺もよくこう言う書き方をしてコードレビューで引っかかって「あ」と思って直してるんだけどね。
0863デフォルトの名無しさん
2015/08/20(木) 02:30:16.16ID:t9QZ04pc>それはエラーをRaizeしたら次のトラップにすっ飛ぶだろうから無問題だと思うよ
Err.Raiseの前にOn Error GoTo 0を追加しないとそうならないですが
0864デフォルトの名無しさん
2015/08/20(木) 02:44:04.52ID:cwNl45xzあ、本当だ。On Error Reume Nextが効いてるか。済まない。
0865デフォルトの名無しさん
2015/08/20(木) 10:24:58.26ID:AglhBccO> えー、スタックトレース取れるとか言ったくせに
> 取れないのかよ。嘘つきだな。
誰と勘違いしてるのか知らないが、俺が初めてスタックトレースに言及したのは>>828で、
そこでスタックトレースは取れないと書いてる。
> まともなログを出力するべきということに反対はしないが、
> 別にまともなログを出力しなくても動作はする。
まともなログが必要な人たちに対する「基本」の話だと思ったから反論したまでで、
それが必要ないと思ってる人たちの「基本」には興味が無い。
>>852
> 正しく動く最小限のものを
> 基本っていうんだよ。
プロダクションレベルの「基本」もあれば、エラー処理は気にしないレベルの「基本」もある。
君の「基本」が全てのケースの基本だと思わないこと。
0866デフォルトの名無しさん
2015/08/20(木) 10:26:43.39ID:AglhBccO> そして応用として詳細なエラーを出したい場合は
君の言う「応用」が、プロダクションレベルでは「基本」なんだよ。
Formからの呼び出し先でエラー処理をするのがプロダクションレベルの基本。
念のため書くが、エラー処理というのは、エラーかどうかを判定する、というところ
から始まる処理全て。
0867デフォルトの名無しさん
2015/08/20(木) 11:47:50.53ID:AglhBccOちなみに、この件で議論するつもりはない。
>>855
> Private Sub foo()
> On Error Resume Next
>
> hoge()
> If Err.Number Then
> ' ここで新しいnumberとかsourceとかdescriptを生成する
> Err.Raise number, source, description
> End If
この方針だと、hoge()内に何か別の実行時エラーを発生するコードが追加されたとき、
hoge()の呼び出し元全てを変更する必要がでてくる可能性が大きい。
「 ここで新しいnumberとかsourceとかdescriptを生成する」というのは「適切なErrオブジェクト
に変換する」ということだと思うが、何度も繰り返したようにhoge()内でエラーとラップ
しなければ適切なErrオブジェクトは生成できない。
0868デフォルトの名無しさん
2015/08/20(木) 15:53:24.10ID:n0ICmDs/エラーの処理を行おうとして、画面側で必要な情報を収穫出来るとも限らないし、
またエラーが起きた関数やメソッドそのもので情報の収集が出来るとも限らない。
エラーが起きる関数を呼び出してる関数にOn Errorを設置する方法もあるだろうし、
更にそれを呼び出してる関数にOn Errorを設置する方法もあるだろうし、
エラーが起きる関数にOn Errorを設置して、取り敢えずそこで収集出来る情報だけ収集して
戻り値にエラーが発生したかの情報だけ抱えて、エラーが発生していたら呼び元、
更にその呼び元で対応する情報を収集したり、エラーに対応する処理を行う場合もあると思うんだ。
もちろん、戻り値に渡さなくても、ErrorをRaizeしなくても、エラー情報を後続に受け渡す術はあるし、それでもいいと思ってる。
また、エラーが起きた関数やメソッドが必要な情報を収集出来るように、
それらを引数で渡したり、スコープを昇格するんだって、最初の設計の段階で考慮出来てるなら問題ないんじゃない?
要は役割に合わせて適材適所で組めばいいんじゃないかと言うことで、
「こう作らなければいけない」と言うのが確定出来るもんじゃなさそうだし、
きちんとシチュエーションに合わせてそれなりに作らないと、
後で自分の首を絞めるだけになる気がするよ。
0869デフォルトの名無しさん
2015/08/21(金) 10:14:32.77ID:JTGJp6CXつうか、汎用関数レベルだとErr.Raiseとかはまず使わないし、エラーがおきたら
戻り値でエラー値を返すほうがBASICらしくてわかりやすいし
0870デフォルトの名無しさん
2015/08/21(金) 10:22:35.34ID:J6UrzezoFileSystemObjectのメソッドなんかも気軽に実行時エラーを発生しやがるので、
全部ラップする関数を作ってました。
エラーログはそのラップした関数内で出力してた。
0871デフォルトの名無しさん
2015/08/21(金) 11:09:20.05ID:5C1fhfGM>>774辺りでログの出力は呼び出し元が判断するとか書いてあるけど何なんだろうね、これ。
呼び出し元が別で呼び出し先が共通の事しか考慮してないよね。
呼び出し元が共通で呼び出し先が別でもそうするつもりなんかね。
VBはしばらくやってないとか言ってたけど、一体今何の言語やってるんだろと思うわ。
0872デフォルトの名無しさん
2015/08/21(金) 11:56:10.53ID:JTGJp6CXたぶんだけど、どんな環境でも使える低レベルの汎用的な関数やクラスの話じゃないかな
ログ出力するということは、そのログモジュールなりクラスに依存するわけだから
その時点で汎用性が低下するし、あとは処理速度を優先してログ出す出さないを
呼び出し元が決めるっていう使い方ができるようになる。
0873デフォルトの名無しさん
2015/08/21(金) 12:33:32.56ID:5C1fhfGM汎用性の低下を心配するなら呼び出し元で同じ呼び出し口で違う振る舞いをするメソッドを呼び出せばいいだけの話。
そもそも何でもかんでも同じところでやろうと言うのが間違い。
0874デフォルトの名無しさん
2015/08/21(金) 12:55:35.08ID:J6Urzezo> たぶんだけど、どんな環境でも使える低レベルの汎用的な関数やクラスの話じゃないかな
いやいや、Formのイベントハンドラから呼び出すメソッドの話だぜ?
普通それはビジネスロジック層のメソッドだろ。
0875デフォルトの名無しさん
2015/08/21(金) 13:12:21.60ID:5C1fhfGM処理速度によるログ出力有無の話も呼び出し元が別で呼び出し先が同じ場合を想定してるよね。
呼び出し元が同じで呼び出し先が違ってたらどうやって呼び出し元で判断基準を設けるのさ?
>>874
そこに関しては共通処理としてUI層からもBL層からも呼び出す関数やメソッドもあるだろうから何も言わない。
0876デフォルトの名無しさん
2015/08/21(金) 13:19:50.13ID:69XeFtbA0877デフォルトの名無しさん
2015/08/21(金) 13:24:13.67ID:J6Urzezo> そこに関しては共通処理としてUI層からもBL層からも呼び出す関数やメソッドもあるだろうから何も言わない。
もちろんその通りだが、そういうのを全部ひっくるめてFormでエラートラップするのが基本
とか言い出すからおかしくなる。
0878デフォルトの名無しさん
2015/08/21(金) 13:35:08.12ID:5C1fhfGMあー、あれね。
あの人が言ってる基本とこっちで考えてる基本と言うのには考え方自体の違いがあったみたいだね。
ま、何でもかんでもフォームで捕まえろって訳ではなかったみたいだけど、
捕まえるときはエラーが起こる関数やメソッドの呼び出し元で必ず捕まえろとか、
その後必ず同じエラーをスローしろとか、何言ってるのかちょっと分からないところはあったよね。
0879デフォルトの名無しさん
2015/08/21(金) 14:34:42.14ID:J6Urzezo0880デフォルトの名無しさん
2015/08/21(金) 14:37:54.93ID:J6Urzezo> VBはしばらくやってないとか言ってたけど、一体今何の言語やってるんだろと思うわ。
そういや読んでて思ったんだけど、failback(と書いてフォールバックとも書いてた)から、
そういう言葉使いするような言語じゃないの?俺は知らんけど。
0881デフォルトの名無しさん
2015/08/21(金) 15:21:30.14ID:cNm3l2b6どういうこと?
ログの出力は通常、ロガーと呼ばれるオブジェクトが出力する。
ファイルに出力するロガーとか、デバッグコンソールに出力するロガーとか
syslogに出力するロガーとか、そういうのを設定ファイルで自由に切り替えられるようにする。
0882デフォルトの名無しさん
2015/08/21(金) 15:22:15.57ID:cNm3l2b6> その後必ず同じエラーをスローしろ
同じエラーってかいてあった?
0883デフォルトの名無しさん
2015/08/21(金) 15:39:12.00ID:J6Urzezoログ出力なんか標準モジュールにSub PutLog()でいいじゃんか。
0884デフォルトの名無しさん
2015/08/21(金) 15:52:02.96ID:5C1fhfGMそれは方式の話でしょ?
さっき言ってた関数やメソッドの処理速度によるログ出力の是非は処理や関数やメソッドが単位になると思うけど
それも処理や関数やメソッド単位で設定ファイルに設定するわけ?
0885デフォルトの名無しさん
2015/08/21(金) 15:59:13.80ID:cNm3l2b6現在の行番号わからないでしょ?
0886デフォルトの名無しさん
2015/08/21(金) 16:01:46.81ID:J6Urzezo> それも処理や関数やメソッド単位で設定ファイルに設定するわけ?
アホなの?syslogとかの設定しらんの?
そういう概念を織り込んだログ出力関数にすればいいだけじゃん。
0887デフォルトの名無しさん
2015/08/21(金) 16:02:02.76ID:5C1fhfGMさあ?
でも行番号と今までの話とどんな関連性があるのか分からない
0888デフォルトの名無しさん
2015/08/21(金) 16:04:42.52ID:J6Urzezoえ、現在の行番号どうやって取得するんだ?
俺もVB6から離れて長いから、できてたかどうかすら記憶が曖昧だわ。
0889デフォルトの名無しさん
2015/08/21(金) 16:16:33.47ID:5C1fhfGM誰がどこでsyslogって限定してるんだ?
0890デフォルトの名無しさん
2015/08/21(金) 16:41:41.93ID:lpkbHdP+配列に関数入れてイベント処理みたいなことしたい
Windowsのサブクラス化はこういうもんだったのになぜか実装されなかったなあ
vbscriptは似たような事できるのに
0891デフォルトの名無しさん
2015/08/21(金) 16:56:59.71ID:cNm3l2b6> え、現在の行番号どうやって取得するんだ?
現在の行番号っていうか、エラーが発生した時の行番号。
強制的にErr.Raiseすれば、その行がわかるはず。
http://d.hatena.ne.jp/ladybug/20031121
http://www.red.oit-net.jp/tatsuya/vb/Err.htm
あとは、Err.Srouceでエラーの発生元のオブジェクト名も
取得できるみたいね。
0892デフォルトの名無しさん
2015/08/21(金) 16:58:00.15ID:cNm3l2b6> でも行番号と今までの話とどんな関連性があるのか分からない
取得できないスタックトレースの代わりだよ。
0893デフォルトの名無しさん
2015/08/21(金) 16:59:41.09ID:cNm3l2b6> 関数やSubがファーストクラスじゃないと不便すぎる
それはCallByNameでできる。
全く同じことは出来ないし、ムダにファイルが増えるけどね。
0894デフォルトの名無しさん
2015/08/21(金) 17:30:16.65ID:J6Urzezo処理や関数やメソッド単位で設定ファイルに設定するとかアホなこと書いてるから、syslogみたいな概念を
取り入れたログ出力関数作れっていってんだよ。
>>891
VB6でどうだったかなんかもはやどうでもいいことだけど、VBAでやってみたら普通には取れないね。
Sub foo()
Dim i As Long
On Error GoTo myerr
i = 10 / 0
Exit Sub
myerr:
Debug.Print Erl
Debug.Print Err.Source
End Sub
結果:
0
VBAProject
0895デフォルトの名無しさん
2015/08/21(金) 17:35:08.89ID:J6UrzezoVBAじゃダメだね。VB6は環境がない。
(呼び出し元にもErl付けてみた)
Sub foo()
Dim i As Long
On Error GoTo myerr
Err.Raise 10, "foo " & Erl, "error description"
Exit Sub
myerr:
Debug.Print Erl
Debug.Print Err.Source
Debug.Print Err.Description
End Sub
結果:
0
foo 0
error description
0896デフォルトの名無しさん
2015/08/21(金) 17:58:01.34ID:98yANW+M0897デフォルトの名無しさん
2015/08/21(金) 18:27:12.51ID:J6Urzezo0898デフォルトの名無しさん
2015/08/21(金) 19:06:23.52ID:5C1fhfGM実際syslogよく知らないけどさー、そこまで豪語するんならさー、
難癖つけた>>884の処理時間が掛かる処理とかでログを出したり出さなかったりを
呼び出し元が同じ関数で、呼び出し先が違う関数で、呼び出し口が一緒の場合、
syslogとやらの概念をどう盛り込んで実装するのか教えてよー。
0899デフォルトの名無しさん
2015/08/21(金) 19:23:29.78ID:5C1fhfGMそれなー
CallByNameはインスタンスでないと使えないからね。
標準のモジュールならAPI関数使ってコールバックするんだろうけど、
一つの関数内でどちらの場合も吸収させるか、別の呼び出しにするか、両方作るか、切り分けに悩むんだよね。
もっとも、同じ関数でやるとしたら、引数で貰う型もどうすればいいか分からんし、
AdressOfでアドレス貰って来たところでCallByNameで使えるか分からんし、
他に切り分け用のフラグ引数に渡すのもなんか汚らしいし、
やっぱ別関数にするしかないかなって思ってる。
0900デフォルトの名無しさん
2015/08/21(金) 19:42:09.82ID:5C1fhfGM標準モジュールは使わずにクラス使ってシングトンパターンで作るからCallByNameみたいので問題ないんだけどね。
もっともDelegate使うけど。
0901デフォルトの名無しさん
2015/08/21(金) 22:57:29.79ID:g4NiQ7/vお前意地が悪いなw
ちなみに分かってて書いてるんだろうけど
VB.Netの場合はモジュール
C#の場合は静的クラスな
0902デフォルトの名無しさん
2015/08/22(土) 02:00:17.28ID:BHNfM2Fk意地が悪い?なんのことでしょう?
さてさて、syslogの概念だっけ?
呼び出し元が共通で呼び出し先が別、同じ呼び出し口で
どうやってその概念を使って実装するのか凄く楽しみ。
人のことをアホ呼ばわりするくらいだから、それはそれはとても素晴らしい実装方法なんでしょう。
0903デフォルトの名無しさん
2015/08/22(土) 09:17:38.80ID:JUnMp7GMVB6ブーム再来か?
0904デフォルトの名無しさん
2015/08/22(土) 09:29:07.12ID:q6jIoHSL0905デフォルトの名無しさん
2015/08/23(日) 08:18:28.07ID:Sv2KumfA鬼だw
まあ確かに処理が掛かるところのログを出したり出さなかったりするのは処理、関数やメソッドの単位だろうな
>>886
>そういう概念を織り込んだログ出力関数にすればいいだけじゃん。
いらんと思うけどな、ログ出力関数にそんな余計な概念
だけど>>902が楽しみにしてるらしいから作ってやったらどうだ?w
0906デフォルトの名無しさん
2015/08/23(日) 11:42:19.47ID:BEYfXVp0ロギングなんて外部から注入が基本だろ
本質と関係ない処理をコードに組み込むんじゃねえよ馬鹿が
0907デフォルトの名無しさん
2015/08/23(日) 13:30:43.88ID:HlRns8Dj素人素人と騒ぎ立てる奴はマジでズブのド素人
突っ込んだことを聞くとすぐに答えられなくなる
0908デフォルトの名無しさん
2015/08/23(日) 17:41:31.19ID:MIhiF6BJVBerには難しいだろうね
0909デフォルトの名無しさん
2015/08/24(月) 03:47:25.18ID:tsoQum4iVBerには難しいだろうね(キリッ
プッ
0910886
2015/08/24(月) 10:23:17.73ID:z6YfqKru> まあ確かに処理が掛かるところのログを出したり出さなかったりするのは処理、関数やメソッドの単位だろうな
というのがアホだっていってんだよ。
ログを出力する所では全てログを出力するコードを書いておく。
ログを出力するかどうかは設定ファイルや起動パラメータで指定する。
ログを出力するかどうかの判断は、ログ出力関数内で行う。
syslogでは、ident, facility, priorigyという概念があって、それらの組み合わせでログ出力設定をする。
アホにこれ以上説明する時間は無い。
自分で調べろ。
0911デフォルトの名無しさん
2015/08/24(月) 12:35:39.18ID:EZ01N8pBあー、なるほどね。これはVBerはバカだと罵られても仕方ない。と言うかコイツが元凶か。
なら能書き垂れてないで実装書けよと言おうかと思ったけどいいや。内容が知れている。
>>907
その考え方で合ってると思うよ。でもVB6だと言うことで分からない人の為にこの呼び方は避けてたんだけど、
>>802で言った「別クラスにして委譲」、つまりストラテジーパターンと何が違うの?
高度なトピックだとか言ってたけど、多態性を扱うときの基本中の基本じゃん。
0912デフォルトの名無しさん
2015/08/24(月) 12:37:34.40ID:EZ01N8pB0913886
2015/08/24(月) 12:45:53.54ID:z6YfqKruしょうもな。実装手段なんかどうでもいい。
ログ出力関数を呼び出す所で出力するかどうかを判断
↓
ログ出力関数内で出力するかどうかを判断
ということがキモなのに。
0914デフォルトの名無しさん
2015/08/24(月) 12:48:37.67ID:EZ01N8pBその肝が既にダメダメだということに気づいてないからザバー連中に馬鹿にされる
0915886
2015/08/24(月) 12:53:49.25ID:z6YfqKruということは、Linuxのsyslogを使うdaemonは全てダメダメだってことか。
そういうことなら価値判断基準が全く異なるから、議論しても意味ないわ。
まあ俺としては>>813から連なる長大なゴミを垂れ流す奴に異議申し立てをしたいだけだから。
つか、ひょっとすると>>813支持派なのか?
0916886
2015/08/24(月) 12:56:06.98ID:z6YfqKru・ログ出力を呼び出す箇所
・処理、関数やメソッドの単位で設定
のどちらかがいいだなんて、俺の想定をはずしすぎてるわ。
0917デフォルトの名無しさん
2015/08/24(月) 12:57:13.38ID:EZ01N8pBどっちも素人か。話す価値ないな。
0919デフォルトの名無しさん
2015/08/24(月) 14:14:31.59ID:RhxZq3rX俺は動作トレース用のデバックログの話だと思ってたよ
0920886
2015/08/24(月) 14:21:54.80ID:z6YfqKruというお話。
0921886
2015/08/24(月) 15:36:35.59ID:z6YfqKru>>802
> 画面の情報が必要な場合は委譲先に画面の参照を渡してやれば別にBLの中で始末出来ると思うんだけど。
>
> 考え方おかしい?
うん、おかしい。
お前は別言語でもそんなことやってるのか?
だったら今すぐやめろ。
0922デフォルトの名無しさん
2015/08/24(月) 16:34:12.93ID:Hydjp05h0923デフォルトの名無しさん
2015/08/24(月) 19:16:59.33ID:EZ01N8pBどうせ情報の取得も、委譲も、参照も、まともに理解しないで
呼び先で画面のコントロールに値設定したり、プロパティ値変えるくらいにしか思ってないんだろ?
ちょっと黙っててくれないかなぁ
0924886
2015/08/25(火) 10:23:43.30ID:3RTDKyUGそれだけ自信があるなら、なんで「おかしい?」なんて思うのかな。
ModelがViewを参照すべきでないのは常識。
MVP, MVVM, MVCなんか調べてみたら?
あと、
> どうせ情報の取得も、委譲も、参照も、まともに理解しないで
こういう変な思い込みはやめられないの?
0925デフォルトの名無しさん
2015/08/25(火) 12:02:43.43ID:OV1myGLx俺の知ってるsyslogは、出力された定形のログをフィルタしてるだけなんだが
これでログ出力元のプログラム設計がどう解決するんだろ
0926886
2015/08/25(火) 12:48:02.24ID:3RTDKyUG読むのめんどくさいだろうから纏めると、
> まあ確かに処理が掛かるところのログを出したり出さなかったりするのは処理、関数やメソッドの単位だろうな
こういうことを言う人(たち?)がいて、酷い話になると、画面のイベントハンドラに戻らないとログを出力
するかどうかの判定はできないとか主張してた。
というのが「問題」。
だから、ログを出力する可能性があるところ(下位モジュールでも)では全てログ出力する関数を呼んでおいて、
外部で出力するかどうかの判断をすればいいって話。
その例がsyslogの仕組み。
0927デフォルトの名無しさん
2015/08/25(火) 12:57:42.97ID:/bqoSHfA横槍だけどそれだとiniファイルが
テキストファイルからxmlファイルや
excelファイルに変わったり
DBからもってくるようになったり
このときはこっちからとかになったら
ログの出力処理は大改修になるよね
だからログの出力処理の中では
あくまでログを出すだけで
他の処理は他に任せればいいと
みんなそう言ってると思う
0928886
2015/08/25(火) 12:59:13.22ID:3RTDKyUGそいつは、「ログ出力はオプションだ」って話なので終了。
今俺に絡んでる奴は、何を主張したいのかさっぱりわからん。
0930デフォルトの名無しさん
2015/08/25(火) 13:05:46.06ID:/bqoSHfAあ ごめん
違う人だった?
0931886
2015/08/25(火) 13:11:14.97ID:3RTDKyUGいや、「みんな」って書いてるので、少なくともログ出力に関する俺の発言の中では、そんな
意図の発言はしてないよってことで。
0932デフォルトの名無しさん
2015/08/25(火) 13:55:18.21ID:OV1myGLxなんでもかんでもログ出しとけって話なら、適切なログ出力設計の議論にならんわ
0933886
2015/08/25(火) 14:17:39.36ID:3RTDKyUG> まさか、syslogdが、出力元プログラムのログ出力を制御してるとでも思ってるのだろうか
そのログ出力制御の内容が何かによるが、syslogdは
・何をログ出力するかの判定
・ログ出力先の決定
を行う。(それ以外にもいろいろやるが)
それを制御というなら、制御してる。
> なんでもかんでもログ出しとけって話
とかいう話はしていない。
例えば、DEBUGレベルのログも、呼び出すだけはしておいて、ログ出力側で出力するかどうか判定しろってこと。
(いや、そんなの普通でしょとは言わないでくれ。その普通が通じないんだ。)
syslogのような仕組みのログ出力を実装しておけば、
> それも処理や関数やメソッド単位で設定ファイルに設定するわけ?
のようなマヌケな発想はしなくて済むって話。
0934886
2015/08/25(火) 14:26:50.42ID:3RTDKyUGsyslog用語で言えば、facilityとpriorityの組み合わせと必要ならidentも含めて、ログ出力判断できるような奴。
0935デフォルトの名無しさん
2015/08/25(火) 14:34:02.59ID:OV1myGLx0936886
2015/08/25(火) 14:45:30.97ID:3RTDKyUG相手して損した。
0937886
2015/08/25(火) 14:47:59.61ID:3RTDKyUG> 画面の情報が必要な場合は委譲先に画面の参照を渡してやれば別にBLの中で始末出来ると思うんだけど。
とか自信満々に言っちゃう奴が、どういう言語を使ってきて今何の言語を使ってるかということだけには興味がある。
PHPとかですかね。
0938デフォルトの名無しさん
2015/08/25(火) 16:23:44.76ID:/bqoSHfAですよね〜
0939デフォルトの名無しさん
2015/08/25(火) 18:53:57.21ID:pQl/75c9受け渡してはいけない気がする。
でも何で?と聞かれると明確な答えはだせない。ごめんね。
ただポリモーフィズムも理解してない人がデータモデルなんて扱えるものなんだね。
まだまだVBで生きて行ける自信が出てきた。ありがとう。
0940デフォルトの名無しさん
2015/08/25(火) 19:44:57.74ID:G6kE4eZp早く夏休み終わってくれないかな
0941デフォルトの名無しさん
2015/08/25(火) 20:42:56.98ID:Ty89bAQ9そういうのが一番ガキっぽくてみっともない。
馬鹿じゃないの
0942デフォルトの名無しさん
2015/08/26(水) 06:18:58.76ID:uXPJoGh6それLog4netみたいに元々作られているものを使うなら分かるけど
自作なら普通じゃないよその考え方
0943デフォルトの名無しさん
2015/08/26(水) 07:44:44.51ID:8YZPVwisのネットワークの状態の「接続」→「正常に動作」(もしくは「失敗」のようなプログラムを作りたいんですけど
どのように作成すれば良いのか分からないので教えてください
0944デフォルトの名無しさん
2015/08/26(水) 08:08:35.58ID:sZSQqR+L画面の参照をプロパティとして渡すことは非常に微妙なところだと思う。
ここではデータの取得ということなので、
ビューの操作は行っていないと考えると
責務としては破綻していない。
ただ、メッセージとして洗練された
ふさわしいものなのかという問題がある。
逆に抽象度からいうとこれ以上抽象度の高いものは無いだろう。
上では「常識だ」と言ってる人がいたが、
あくまで「原則として」に留めるべきだと思う。
何故ならビューからモデルの情報取得後をトリガーに、
モデルの情報を条件としてビュー側で何らかの処理を行いたい場合、
モデル側からはそのアドレス情報はビューの
インスタンスからでないと取得出来ないからだ。
0945デフォルトの名無しさん
2015/08/26(水) 10:27:16.97ID:b8jwgPh2つうか、そんな律儀なことを考えならがプログラミングしてると頭禿るぞ
それにコールバックさせようと思ったら、どんな形にせよリファレンスを渡す
必要があるんだから、考えるとしたらどうやって渡せばスマートか、とかだろ
0946デフォルトの名無しさん
2015/08/26(水) 10:46:23.81ID:2a2qkYCn||// 彡 ⌒ミ|彡⌒ ミ
||/ (n´・ω・)n ) おはようイケメン
|| (ソ 丿|ヽ )
 ̄ ̄ ̄ ̄ ̄ u―u'
0947デフォルトの名無しさん
2015/08/26(水) 12:25:04.38ID:6Z2aJU9f何を言ってるのかさっぱり分からないけど、モデル側のしかるべきタイミングを
ビュー側に伝達するのは.NETならイベント、イベントが使えないならオブザーバーパターンを使う。
ビューの参照をモデルが持つなんて馬鹿なことは絶対にしない。
0948デフォルトの名無しさん
2015/08/26(水) 13:30:50.63ID:b8jwgPh20949デフォルトの名無しさん
2015/08/26(水) 16:37:02.28ID:Ksv/vtJaVB6の正しいコードとは、「思った通りに動いたコード」であって、プログラミングとは
関係ないと思っていたのだが…
そんな難しい事考えながら、よくVB6でちゃんと動くものが作れるね?
0950デフォルトの名無しさん
2015/08/26(水) 18:41:52.81ID:iFM6oNtQそのへんはまず設計思想に基づいて考えるんだが
暴れてる馬鹿は設計思想をどうこう言えるレベルじゃないし
0951デフォルトの名無しさん
2015/08/26(水) 18:44:42.77ID:+V3nc+iF馬鹿じゃないの
0952デフォルトの名無しさん
2015/08/26(水) 20:04:11.59ID:sZSQqR+L別にイベントや通知をトリガーにしても構わないし、そうでなくても構わない。
ここで着眼するべきはタイミングではない。
得意分野が違ったりすることもあるのだろうが
>>495はすぐに理解してくれたようだ。
そしてビューの参照をメッセージとして
送ることをあり得ないと言っていたが、
それはいいとしても結論ありきで話をするのは
技術者として如何なものだろうか。
0953デフォルトの名無しさん
2015/08/26(水) 20:07:43.27ID:Rh5HKPmi0954デフォルトの名無しさん
2015/08/26(水) 20:10:19.76ID:+V3nc+iF君に同意するまともなプログラマは1人もいないよw
もう低レベル過ぎて読んでるこっちが恥ずかしくなるレベル。
0955デフォルトの名無しさん
2015/08/26(水) 20:13:44.22ID:+V3nc+iFここで話題になっている「依存関係は一方通行でなければならない」と言ったような基本が大事なのは、
プログラムを簡単に書くためにこそプログラムの可読性が重要なのを理解してないことだ。
0956デフォルトの名無しさん
2015/08/26(水) 20:16:12.02ID:sZSQqR+L俺は別にモデルがビューを参照してはいけないとは一言も言ってないし、
この件に発言したのは今日が初めてで、
2レスしかつけてないので同意もなにもないと思う。
誰かと勘違いしてはいないだろうか。
0957デフォルトの名無しさん
2015/08/26(水) 20:34:35.59ID:NbA1pJ88バカに触るからいけない
0958デフォルトの名無しさん
2015/08/27(木) 08:30:11.51ID:NfXyb/OT出来上がったパターン通りにしか設計できない奴は黙ってろな
0959デフォルトの名無しさん
2015/08/27(木) 08:58:34.11ID:2sp0pBWm数行コードを追加すれば済むような修正でも、俺の理屈に合わないとか
言いながら、再設計してコード書き直そうとするハタ迷惑な馬鹿
0960デフォルトの名無しさん
2015/08/27(木) 10:46:07.85ID:asTtCnh5依存関係は一方通行でなければならない(モデルがビューを参照してはいけない)なんて
人によって見解が分かれるような話じゃない。
理解できるかどうか(バカかどうか)だけの話。
ほとんど、「俺に理解できないからアインシュタインは間違ってる」ってトンデモ本作者やstaticおじさんのレベル。
0961デフォルトの名無しさん
2015/08/27(木) 10:51:33.31ID:asTtCnh5論理的に理由を理解してなくてもその必要性は直感的に分かる。
俺もかつてVB5でプログラミングを始めた時、誰にも言われなくても1月ぐらいで気が付いたよ。
VBは言語レベルでイベント機能があるから、本来はこういうことに気が付きやすいはずなんだけど、
ダメな奴はやっぱり何を使ってもどうしようもなくダメなんだね。
0962デフォルトの名無しさん
2015/08/27(木) 11:08:12.16ID:2sp0pBWm最初から話がかみ合ってないんだけどな
0963デフォルトの名無しさん
2015/08/27(木) 11:19:20.13ID:NfXyb/OT>ほとんど、「俺に理解できないからアインシュタインは間違ってる」ってトンデモ本作者やstaticおじさんのレベル。
これは笑うとこか?お前、他人の意見を理解できないで間違ってるっていってるんだが
0964デフォルトの名無しさん
2015/08/27(木) 11:47:03.00ID:2sp0pBWmいうなればビューを兼ね備えたコントローラか、そう考えると結構すっきりと設計が進む
別にこの考え方を押しつけるつもりはないが、もしFormがビューだとしたら
一番最初のモデルはビューから生成されることになり、関係が最初から破たんしてる
VB5も6も同じなんだから、その辺はやってればわかるはずだろ
0965デフォルトの名無しさん
2015/08/27(木) 12:16:05.01ID:gdwTy3J6重要なのはモデルがビューに依存しないことだ。
まあ言っても無駄か。
0966デフォルトの名無しさん
2015/08/27(木) 12:18:55.70ID:gdwTy3J60967デフォルトの名無しさん
2015/08/27(木) 12:51:22.02ID:kLiuzcJjもしそれが依存関係逆転の原則のことを言っているならとんだお笑いだな
0968デフォルトの名無しさん
2015/08/27(木) 13:09:42.00ID:2sp0pBWmひょっとしてこの人って、たとえば汎用モジュール(モデルに相当)から
Call frmMain.cmdTest_Click()
みたいなことをやったらダメよっていう超基本的なことを、
こんなにたくさんのレスを使って説明してくれてる超親切な人なのかな?
0969デフォルトの名無しさん
2015/08/27(木) 20:11:11.74ID:FFvlYPxw0970デフォルトの名無しさん
2015/08/27(木) 20:26:56.38ID:kLiuzcJj駄目過ぎて何が言いたいのか分からないけど、
何故駄目なのか思い付くだけ挙げたら
今回の件に関連するものも出て来るかも知れないな。
0971デフォルトの名無しさん
2015/08/28(金) 08:21:50.88ID:h/70kqcI依存関係が一方通行なのは分かるが、今回のケースでそれが壊れているとは思えない。
フォームに記述したメソッドを取得する為には、フォームの型では取得出来ない。
つまり幾つかの異なるフォームでこのクラスを使うには、
対象であるメソッドを持つインターフェースが必須になる。
つまり、プロパティに設定されるのは、インターフェースで設定された抽象的なものとなり、
Model側は直接Viewを知らない。即ち依存関係に無いのである。
0972デフォルトの名無しさん
2015/08/28(金) 08:45:24.51ID:H77JphFMそのモジュールがそのフォーム専用なら特に問題はないけど
いろんなフォームから共通に使用されるものなら、やらないほうがいい
>>971
全くその通りなんだけど、彼の中では
オブジェクトのリファレンスを持つこと=そのオブジェクトに依存する
という強い思い込みがあるんだと思うわ
だから、おそらくコールバックなんて概念も存在していない
そうなるとイベントの概念すら正確には把握してないんじゃなかって気もする
0973デフォルトの名無しさん
2015/08/28(金) 11:32:14.30ID:Qs0z3drf今頃間違いに気づいてこっそり意見を変えるw
頭が悪いだけでなくて姑息ときてる。人間として最悪だな。>>947
.NETのイベントであろうがオブザーバーパターンであろうが、呼び出される側が
自分で自分を呼び出す側に、呼び出す側が要求する型として登録するのであって
>>944が言ってるように呼び出す側のコードが呼び出される側の参照を持つのではない。
0974デフォルトの名無しさん
2015/08/29(土) 07:32:07.68ID:zUAPpVfAそもそもオブサーバーパターンを少しでも理解していれば>>947みたいな話は出てこない。
>>947はモデルどころかイベントもオブサーバーパターンも
ポリモーフィズムもコールバックもなにも理解していない。
知ってる単語並べて俺スゲーってやってるだけの人って周りから見れば一目瞭然だから
相手にするだけ馬鹿を見るよ。
0975デフォルトの名無しさん
2015/08/29(土) 12:25:06.92ID:thOkbo5Eみっともない馬鹿だ。
0976デフォルトの名無しさん
2015/08/29(土) 12:38:21.55ID:W42qk9DFまぁ、これ以上800あたりから始まる議論には興味がないんだが、
> 画面の情報が必要な場合は委譲先に画面の参照を渡してやれば別にBLの中で始末出来ると思うんだけど。
とか自信満々に言っちゃう奴が、どういう言語を使ってきて今何の言語を使ってるかということだけには興味がある。
PHPとかですかね。
↑
なるほど、確かにブーメランが頭に突き刺さって
血噴き出しててみっともない馬鹿だな
0977デフォルトの名無しさん
2015/08/29(土) 13:01:47.41ID:thOkbo5E何にしろ、モデルがビューの参照を持ってはいけない、なんてプログラマ1年生が覚えるような
基本中の基本事項がこんな議論になるのはVBスレだけだろうな。
ついでに言えば、「オブザーバーパターンだって呼ぶ側が呼ばれる側の参照を持ってるじゃないか!!」
なんて言う馬鹿がいるのも恐らくVBスレだけ。
それは実行時だ馬鹿。
重要なのは、呼ぶ側のコードに、呼ばれる側を参照する部分がないことだ。
...って馬鹿なVBerに言っても無駄か。
0978デフォルトの名無しさん
2015/08/29(土) 13:18:08.61ID:Ki3h75Q9もう悔し過ぎて自分で何を口走ってるのかすらも分かってないんだろうな。
自前の中途半端な持論はどうでもいいから
(*^^*)
0979デフォルトの名無しさん
2015/08/29(土) 16:07:50.90ID:Ki3h75Q9とにかく、何を当たり前のこと顔真っ赤にしていきり立ってるのか知らないが、
>>971あたりを1000回くらい読み直してから出直してこい
0980デフォルトの名無しさん
2015/08/29(土) 16:45:50.96ID:1c8d26Dfこっちが説明してから後出しで言いだしたことを馬鹿じゃないのか。
0981デフォルトの名無しさん
2015/08/29(土) 17:39:11.80ID:Ki3h75Q9お前が何を説明したとほざいているか知らないが、
話の発端になった>>802はそこで既にストラテジーパターンの話をしている。
その時から既に抽象の話はとっくに出ていたのに
何言ってんだこいつ?
0982デフォルトの名無しさん
2015/08/29(土) 18:24:27.37ID:RKoyrRU3馬鹿じゃないの。
0983デフォルトの名無しさん
2015/08/29(土) 18:25:39.59ID:RKoyrRU30984デフォルトの名無しさん
2015/08/29(土) 18:32:50.07ID:Ki3h75Q9ストラテジーパターンも知らんのか。
どうしょうもないなw
>>983
そりゃ渡すだろ。委譲って分かってる?
0985デフォルトの名無しさん
2015/08/29(土) 18:59:53.73ID:jQpIcJ580986デフォルトの名無しさん
2015/08/30(日) 07:42:05.45ID:NNjESfX60987デフォルトの名無しさん
2015/08/30(日) 18:40:54.24ID:204yLqaV0988デフォルトの名無しさん
2015/08/30(日) 19:26:40.38ID:ZYoWCo0d古代VBプログラマ質問スレ(Ver.6.0 まで) part65 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1440930335/
0989デフォルトの名無しさん
2015/08/31(月) 09:32:15.36ID:dlg5gx9Cおつ
0990デフォルトの名無しさん
2015/08/31(月) 09:56:12.15ID:84YJanmx0991デフォルトの名無しさん
2015/08/31(月) 19:04:51.05ID:MDUXcKqu0992デフォルトの名無しさん
2015/09/01(火) 09:09:44.82ID:5BwJ2/h+0993デフォルトの名無しさん
2015/09/01(火) 12:34:12.92ID:f7+IC0bA0994デフォルトの名無しさん
2015/09/01(火) 13:26:18.15ID:xwXw9Uta0995デフォルトの名無しさん
2015/09/01(火) 18:18:03.40ID:CTYQHbst0996デフォルトの名無しさん
2015/09/02(水) 11:05:24.46ID:faeeHgup0997デフォルトの名無しさん
2015/09/02(水) 19:47:35.28ID:40M7sDpr0998デフォルトの名無しさん
2015/09/02(水) 20:01:44.78ID:40M7sDpr0999デフォルトの名無しさん
2015/09/02(水) 20:02:10.65ID:40M7sDpr1000デフォルトの名無しさん
2015/09/02(水) 20:02:38.41ID:40M7sDpr10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。