[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 02/15 11:50 / Filesize : 252 KB / Number-of Response : 890
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

VB.NET質問スレ (Part22)



1 名前:デフォルトの名無しさん [2007/07/10(火) 12:23:42 ]
前スレ

VB.NET質問スレ (Part21)
pc11.2ch.net/test/read.cgi/tech/1177299756/

テンプレは2〜10くらいまでの間にある予定

2 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 12:24:43 ]
MSDN
msdn2.microsoft.com/ja-jp/library/ms229284.aspx
どぼん!のVB道のトップページとTipsページ
dobon.net/vb/
dobon.net/vb/dotnet/index.html
Microsoftクイック スタート チュートリアル
ja.gotdotnet.com/quickstart/default.aspx
Insider.NET
www.atmarkit.co.jp/fdotnet/index.html
宇宙仮面の C# プログラミング
ukamen.hp.infoseek.co.jp/
.NET のつぼ
park16.wakwak.com/~mimi/dotnet/top.html
.NET TIPS
www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
緑のバイク ★ 初めてのC# プログラム全般
homepage3.nifty.com/midori_no_bike/CS/
VB.NETとC#でデザインパターン
hccweb1.bai.ne.jp/tsune-1/
匣の向こう側
www.ne.jp/asahi/nami/mei/index.html
WisdomSoft
wisdom.sakura.ne.jp/
じゃんぬねっと
jeanne.wankuma.com/
どっとねっとふぁん - C# Tips And Samples -
homepage3.nifty.com/dotnetfan/index.html
C#プログラミングTips
www.atmarkit.co.jp/fdotnet/csharptips/index/csharptips_index.html

3 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 12:25:25 ]
CodeProject
www.codeproject.com/vb/net/
the GotDotNet Home Page
www.gotdotnet.com/
KEN's .NET
www5b.biglobe.ne.jp/~yone-ken/VBNET/index.html
Cetus Links: 19,498 Links on Objects and Components / .NET
www.cetus-links.org/oo_dotnet.html
HIRO's.NET
vbdotnet.fc2web.com/index.html
@IT:特集 .NET開発者のためのオンライン・リソース・ガイド
www.atmarkit.co.jp/fdotnet/special/onlineres/onlineres_01.html
.NETでいきまっしょい!
santamartadotnet.hp.infoseek.co.jp/
これがほしかった!厳選サンプルツール集
anetm.com/dev/tools/vbdotnet.htm
ぬーやんのdotNET講座
www.geocities.jp/nuu_yan/dotNET/index.html
PINVOKE.NET
www.pinvoke.net/
WinAPI Database for VB Programmer
www.geocities.co.jp/SiliconValley-Cupertino/5872/


4 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 12:26:10 ]
Windows Api programming in C# , VB.NET, and VB6. Examples of P/Invoke and DllImport with Source code
custom.programming-in.net/
CodeZine
codezine.jp/
ConvertCSharp2VB
www.kamalpatel.net/ConvertCSharp2VB.aspx
@IT:.NET Tools
www.atmarkit.co.jp/fdotnet/tools/index/index.html
SharpLibrary Redirector
www.sharplibrary.com/
MSDN アカデミック アライアンス 技術資料
www.microsoft.com/japan/msdn/academic/articles/
「300 秒でズバリ !!」&「10 行でズバリ !!」シリーズ
www.microsoft.com/japan/msdn/thisweek/wednesday/default.asp
PAPA'n VB
www.mitene.or.jp/~sugisita/index.html
VB レスキュー花ちゃん
www.bcap.co.jp/hanafusa/dotnet/index.html
(Java覚え書き)デザインパターンあれこれ
www.dmz.hitachi-sk.co.jp/Java/Tech/pattern/
algorithm
www.mnet.ne.jp/~tnomura/algorithm.html
ラムダ計算入門
www.kb.ecei.tohoku.ac.jp/~sumii/class/keisanki-software-kougaku-2005/lambda.pdf
数値計算の基礎
www7.ocn.ne.jp/~kawa1/numeric.pdf

5 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 12:30:24 ]
わんくま同盟ってウザくね?
pc11.2ch.net/test/read.cgi/tech/1182120520/
-OOP限定-プログラム設計相談室
pc11.2ch.net/test/read.cgi/tech/1127547359/
■(((Microsoft.NET総合スレッド)))■
pc11.2ch.net/test/read.cgi/tech/1124784480/
【VB.NET】VS2005 選ぶならどっち?【C♯】
pc11.2ch.net/test/read.cgi/tech/1106538237/
VisualBasic6.0 対 VisualBasic .NET 2003
pc11.2ch.net/test/read.cgi/tech/1116555483/
VB.NETのとんでもない欠陥に気づいた
pc11.2ch.net/test/read.cgi/tech/1147201705/
VB6 >>>>>>>>>> VB.NET
pc11.2ch.net/test/read.cgi/tech/1159388733/
VBプログラマ質問スレ(6.0以前) Part52
pc11.2ch.net/test/read.cgi/tech/1179563617/

6 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 12:34:47 ]
下らんネタスレまでリンク張る必要がどこにあるボケ。
そういうことはお前さんが自分で糞webページ立ち上げてそこで好きなだけやれよ。

7 名前:デフォルトの名無しさん [2007/07/10(火) 13:36:15 ]
VB2005なんすけど、OpenReadで直接URL叩いて読み込んだテキストを
HtmlDocumentにする方法ってないっすか?
OpenReadで読み込んでテキストにする前にHtmlDocumentにする方法でもいいっす。

8 名前:デフォルトの名無しさん [2007/07/10(火) 15:52:59 ]
>>1
まぁ乙

もすこしひねりのある一言追加がほしかったな


9 名前:デフォルトの名無しさん [2007/07/10(火) 16:06:17 ]
#Regoin で囲んだ領域のすべてを同時に閉じる便利な方法が
あれば知りたく。

また、すべての関数プロシージャ、プロパティを同時に閉じたり
開いたりする方法もあれば、知りたいです。

もしご存知の方がおられましたら、すみませんが、教えてください。



10 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 16:38:57 ]
>>7
HtmlDocumentはNotInheritabledだから直接は作れないみたいね。
この辺を使ってみたらどうでしょう。
WebBrowser.DocumentText 
WebBrowser.DocumentStream



11 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 16:58:19 ]
WebBrowser使うんだったら普通に表示してからDocumentプロパティで取得すればいいじゃない
NotInheritabledだからインスタンス作れないってなにその理解

12 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 19:19:46 ]
>WebBrowser使うんだったら
WebBrowserに依存しないHTMLのパーサークラスってあったっけ?

XmlDocmentだったらnewしてLoadでTextReaderかStringを渡せばOKだから、
Htmlでもそれと同じように出来ないかという質問だと思うのだが。

13 名前:デフォルトの名無しさん [2007/07/10(火) 21:27:55 ]
DataGridViewComboBoxColumn の使い方が分からない。

DataTableの値を、DataGridViewComboBoxColumnのDataSourceに設定すれば、
ValueMemberの値がDataPropertyNameで指定したフィールドに
入ってくれるんじゃないのか??

コンボボックスで選択する所までは、上手くいくのですが、
そこからフォーカスを移すと
「DataGridViewComboBoxCellの値が有効ではありません」と
エラーメッセージが出てしまう。

そもそもDataGridViewComboBoxCellなんて何時使われているんだろか。

誰か助けてください!

14 名前:デフォルトの名無しさん [2007/07/10(火) 21:35:00 ]
使い方はそんなものだとおもうけど?

書き込み内容だけではよくわからんが
俺の記憶では DataGridViewComboBoxCellの値が有効ではありません
が出た時、データソースにない値を入れようとしたらこうなったけど・・・・
事例が違うし何とも言えないな


15 名前:ももんが [2007/07/10(火) 21:37:09 ]
V系好きな人がよく使ってる"リア友"ってどーゆー意味なの?

16 名前:デフォルトの名無しさん [2007/07/10(火) 22:01:12 ]
DataGridViewでデータテーブルをバインドさせているのですが
表示時のデータフォーマットの部分で詰まっています。

カラムAAAがあり型はStringです。
カラムBBBがあり型はStringです。

カラムAAAのデータはYYYYMMDDの形式で必ず8文字のデータがあります。
カラムBBBのデータはHHMMSSの形式で必ず6文字のデータがあります。

この両者をTextBoxColumnの列にデータをバインドさせて表示するときに
AAAはYYYY/MM/DD
BBBはHH:MM:SS
とフォーマットして表示したいのですが、CellStyleプロパティのDataFormatに
0000/00/00や####/##/##を設定してもフォーマットしてくれませんでした。
解決策はないでしょうか?



17 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 00:28:46 ]
WebBrowserでよみこんだHTMLページにイベント発生させるのってどうすればいいんでしょうか?

具体的には読み込んできたWebページの
1.テキストボックスに値を入力
2.チェックボックスをチェックする
3.送信ボタンをクリックする
4.リンクンをクリックする

vb 6.0 は document.all(0).value="1111"
とかdocument.all(0).click とかできたのが
.netでできなくて悩んでます
お助け願えませんでしょうか?

18 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 00:58:02 ]
>>9
単一 Region なら Ctrl + M M ... だった希ガス。
複数Regionはマクロ必要じゃないかな


VB6との相互運用を目的とし、 tlbimp で InterOp DLLを作成(sn使用, PIA扱い)。
.NET (2005)で実装に入ると、VB6 から読み込んだ当該DLLのインタフェースを
実装できない(;ω;)

* 特定のプロパティでだけ発生する(同じDLL内の他は問題なく実装できる)

* 問題を起こすプロパティは、VB6 では Bool 型の変哲のないソース

 Public Property Let A(flgFinish As Boolean) : isFinished = flgFinish : End Property
 Public Property Get A As Boolean : A = isFinished : End Property

* InterOp DLL を ildasm で見ても、おかしいところはみあたらず。

* プロパティはシステム上必須で、Implements しないと相互運用できない。
 でも、Implements しようと同じシグネチャでプロパティ書くと Implements できないと言われる。

何か原因に心当たりある人おります?(ここ確認せい、とかでも大変助かります...)

19 名前:7 mailto:sage [2007/07/11(水) 01:34:43 ]
7っす。

今はWebBrowser1_DocumentCompletedでHtmlElementを取得してから
Tagでコレクションしてるっす。
TagNameコレクションだとInnerTextでタグのプロパティなんかを拾わなくてすむので
楽っすけど、読込に時間かかってます。
WebBrowserに依存しないHtmlを使えるクラスってやっぱないっすか?

20 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 02:14:15 ]
自前でパーサ書く



21 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 04:06:03 ]
>>18
キー操作とマクロですか、なるほど!!
ありがとうございました!!

22 名前:デフォルトの名無しさん [2007/07/11(水) 11:43:46 ]
初歩的な質問かもしれませんが,教えて下さい.
スタート画面(frmStart)でボタン形式でメニューを表示し,いずれかのボタンを
選択すると,該当するフォームが表示されます.そのときにfrmStartでMe.Hide()
と記述し,スタート画面を非表示にします.(frmStartはスタートアップに設定されてます)

それを別フォームからスタート画面に戻るには(再表示するには)どうしたらいい
でしょうか?
新たなインスタンスを作るとそのプログラムは終わらないし,frmStart.Show()
はオブジェクト参照されてないし,どうしたらいいでしょうか?

23 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 12:13:46 ]
frmStartの参照を子フォームに渡しておくか、
子フォームの閉じるイベントで再表示するようにする

24 名前:デフォルトの名無しさん [2007/07/11(水) 15:35:25 ]
CSVファイルのデータをDataSetに取得して、DBへ反映させたいと思っているのですが、
DataGridViewには値は正しく表示されるのですが、DBへ反映させる事が出来ません。
以下が、まとめたソースなんですが、どこらへんが駄目でしょうか?
エラー等は表示されず、DBの値にまったく変化無しな状態です。
=====
Dim cn1 As New System.Data.SqlClient.SqlConnection("Data Source=Server;Initial Catalog=hogeSQL;User ID=hogeID;Password=hogePass;")
Dim da1 As New System.Data.SqlClient.SqlDataAdapter("SELECT * FROM m_Table", cn1)

Dim cn2 As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=text;Data Source=" & System.IO.Path.GetDirectoryName("C:\test.csv") & "\;")
Dim da2 As New System.Data.OleDb.OleDbDataAdapter("SELECT * FROM C:\test.csv", cn2)

Dim ds As New DataSet
da2.Fill(ds, "ds_m_Table")

DataGridView1.EndEdit()
Dim cmdBuilder As New System.Data.SqlClient.SqlCommandBuilder(da1)

da1.Update(ds, "ds_m_Table")
DataGridView1.DataSource = ds.Tables("ds_m_Table")
=====

25 名前:デフォルトの名無しさん [2007/07/11(水) 16:03:21 ]
csvから読み込んだものとデータベースの列名と型はちゃんと合ってるの?

26 名前:24 mailto:sage [2007/07/11(水) 16:35:48 ]
>>25
同じです。

上記のCSVは、同じDetaSetから出力されています。
DBもCSVもDataGridViewに同じフィールドで表示されます。


27 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 18:12:37 ]
追加状態にしとかないとだめよん

28 名前:デフォルトの名無しさん [2007/07/11(水) 20:25:31 ]
・・・・・・おいおい

29 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 00:03:17 ]
VS2005 って、ほっっっっっっっっっっっんと落ちやすいな。
なんだこれ。

クリップボードにコピーしようとすると、現状が起きる。
こうなると、devenv.exeのプロセスが高負荷になって戻ってこない。

もう50回は落ちたよ。

誰か改善案など知っている方おりますか?

OS:WinXpSP2
VS2005 Ver8.0.50727.762(SP.050727-7600)
なお、クリップボードを操作するアプリは入れていません。

30 名前:デフォルトの名無しさん [2007/07/12(木) 00:13:38 ]
>>29
俺はSP1にする前 頻繁に落ちてたけどSP1にした今は別に問題ないな
ついでにいうとメモリ少なくって仮想メモリガリガリ使いながらだと落ちやすいみたい

同じ無印2005でマシン変えたら全然落ちなかったし



31 名前:デフォルトの名無しさん [2007/07/12(木) 11:42:14 ]
VB.NET 2005です
フォルダにアクセス権がるかどうかを調べる場合どうすればいいんでしょうか?

具体的には指定されたフォルダを再起ループで回してエクスプローラ風にツリーを作るのですが
チェックを行わないとSystemVolumeInfomationなどのシステム専用フォルダのアクセスでエラーが出ます。
エラーをキャッチしてスルーしてもいいのでしょうが、エラー発生のたびに遅くなるのと スマートでないため
フォルダの中を再帰的に回すときにアクセス権をチェックした後で再起処理をしたいのです。

ご存知の方はお教え願えませんか?

32 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 12:49:44 ]
>>29
なんで他のアプリの影響とか自分の環境を疑わないのか…
なんならWindowsにVS2005だけ入れて使ってみれば?

33 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 13:03:17 ]
>>32
PCは3台変えた。OSは全てWinxpSP2です。
内1台は新規インストール状態での利用。
(ただし、Office2003SP2は入っている。)

事の頻度は違うかも知れないが、それら全てで似たような状態ですが?

と言うか、例え環境の問題であったとしても、今の時代で、
どんだけ作りが悪いんだよ!
と思わなくも無いですが。

34 名前:デフォルトの名無しさん [2007/07/12(木) 14:36:28 ]
コントロールの右クリックイベントの
e.Location をクライアント座標に変換することって簡単にできますか?

35 名前:デフォルトの名無しさん [2007/07/12(木) 15:22:21 ]
>>34
Control.PointToScreen(e.location)
でいいんじゃ?

36 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 15:25:51 ]
MouseEventArgs.Locationのことなら
それ普通にクライアント座標だろ

37 名前:デフォルトの名無しさん [2007/07/12(木) 15:51:49 ]
>>36
たぶんそうだと思ったんでスクリーンじゃないかとエスパったおれは負け組の予感

38 名前:デフォルトの名無しさん [2007/07/12(木) 17:18:22 ]
2005のバックグラウンドワーカー使うときって
やっぱフォーム閉じたりするときに
IsBusy=trueでCancelAsyncメソッド使った後に
IsBusy=Falseになるまでループでスレッド終了まちしてから終了すべき?


39 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 18:32:32 ]
>>33
もう半年ほど毎日仕事で使ってるが、
落ちるなんてことあったのはたぶん1度あったかどうかぐらいだぞ。

ただ、参考になるかどうか分からないけど
Winアプリでコードに問題のある自作コントロールを貼り付けたフォームを
デザイナで開くと落ちる場合があることは経験した。

環境のせいでないとしたら、こういう自分のコードに問題がある可能性も
一応疑った方がいいと思うよ。

もちろんバグがあるからって落ちる開発環境ってどうなの?
なんだけどさ。

40 名前:デフォルトの名無しさん [2007/07/12(木) 20:01:54 ]
ContextMenuをShowメソッドで表示した後の、メニューのサイズを取得する方法ってないでしょうか?



41 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 21:41:57 ]
OpenedのあとBounds

42 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 00:39:58 ]
>>39
>環境のせいでないとしたら、こういう自分のコードに問題がある可能性も
>一応疑った方がいいと思うよ。

これはIDEとして失格では・・・
俺もSP1にする前はデバッグするたびにかなりの頻度で落ちてたよ。
セットアップ失敗してるのかと思ってインストールしなおしても変わらなかった。
SP1後は一回も落ちなくなったけど。

43 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 01:20:06 ]
失格もなにもある物使うしかないだろ。
VS擁護する気はないがどんなソフトもバグぐらいある。

そんなことより、たまたまバグに遭遇しただけで「ソフトの作りが悪い」とか
全体を批判する性格のが悪い。

人間にも同じような事言ってるの?

44 名前:デフォルトの名無しさん [2007/07/13(金) 08:46:34 ]
>>43
まぁ確かにそうだけどこれだけ頻繁に落ちればデバッグ不足だ絽

45 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 09:49:42 ]
>>43
>人間にも同じような事言ってるの?
例えば「しょっちゅうサボる派遣は、技術力があっても使い物にならない」、くらいは
言うんじゃね?普通。

46 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 12:54:36 ]
折れの環境では「CheckedListBox」に対して、
コードを書いていると落ちたりする。

コピったり、ツールバーのボタンからコメントアウトしたり、
インテリセンスをだしたり。

47 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 13:56:47 ]

社会保険庁の解体については、基本がそもそも間違ってる。
そもそも、年金をまかなうのに、保険料として徴収しようとするから、特別に省庁をおくかという
話に摩り替わる。 つまり税金として徴収してしまえば、

    1. 不払いなどという問題もそもそもあり得ない。
    2. 「特別会計というインチキ財布の肥やし」 にされる心配が全然ない。
       つまり、2年で2億などという法外な天下り役人の泥棒が封じられる。これ大きい!
    3. 徴収機関 が、税務署になるから、徴収コストは基本的にゼロ。
    4. しかも、税務署なら、銀行と比較しても同レベルに信頼性が高い。

       (社会保険庁がなぜ当たり前の経理も窓口も成り立たないのか全く不明、
        郵便局で肩替わりしても全く問題ない程度の仕事のはず)

    5. 支給のための仕事だけならば、住民票のある地方自治体を通じて行えば
       これもコストはほとんどゼロ。いったん登録すれば自動的に振り込まれる。
    6. こうすれば、余分な厚生施設を勝手に作られたり、無用なものに勝手に
       流用されて目減りすることもありえないし、天下り先などにもなりえない

これだけのメリットは計り知れないほどのものだ、なのになぜ税方式にしないか?

それは、
     基本的に 「社会保険庁という役所を残す、形を変えてでも」 
ということにあり、
     その意味は、「結託している公務員利益を形だけ変えてでも優先したい」

というもの、、つまり自民党政権側の意図は要するに、、

     裏では、天下り先を確保できるように官僚役人と結託しており、
     国家利益を限りなく泥棒して国民の権利と利益をむさぼり取ろうぜ

というのが実態。

48 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 16:09:40 ]
>>45
それ例え方まちがってね?
たまたま今回自分だけに起こった不都合な部分だけを取り上げて
そいつを全否定するってことを言いたいんだろ。


49 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 17:22:17 ]
>>48
水掛け論だよね。

「操作中に強制終了する奴は使い方が悪い使用者が問題。」
「操作中に強制終了するのはソフトをつくった人がわるい。」

両方とも立派な暴言だけど、立場を違えれば理解は出来る。
少なくとも開発者なら一つ目の発言は致命的だと思うけど。

50 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 17:48:07 ]
いつまで経っても安定しないのはMSのお家芸だからな。
だからっつって切り捨てるわけにもいかず、騙し騙し使うしかなかったり。



51 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 18:25:00 ]
VSは比較的まとも

52 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 18:30:02 ]
>>49
どうでもいいけど使用者が悪いとか誰もいってないでしょ。

ただ特殊な状況でしか発生しないと思われる問題を一般的に起こりうる問題と勘違いして
騒ぐのは馬鹿みたいだよ、って話じゃないの?

>>50
だから被害妄想強すぎるんだよw

俺なんかむしろVSのIDEはあれだけ複雑なアプリケーションの割には不具合少ないな、とか思っちゃうけど。
もちろんこれはプログラマ目線の話であって、一般ユーザーがプログラム一般について
このように認識すべき、なんて言うつもりはない。

53 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 18:44:51 ]
>>52
VSのSP1以前については特殊な状況と言えるのかい?
MSは特殊な状況下での使用法をSP1で改善してくれたことになるのか?

54 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 18:50:49 ]
だから被害妄想強すぎるんだよ
一度言われたら理解しろよw

特殊な状況 = >>33の状況

いや俺のところでも>>33と同じ状況だぞ、って奴がいたら挙手してね

55 名前:デフォルトの名無しさん [2007/07/13(金) 19:00:34 ]
再現性があるかどうかだろ

56 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 22:54:15 ]
もういいんじゃないか?
なんか >52 みたいに、わけのわからん方向に行ってるし…

>>53
お前は黙ってろw



57 名前:56 mailto:sage [2007/07/13(金) 22:55:18 ]
アンカーミスごめ。

誤 なんか >52 みたいに、わけのわからん方向に行ってるし…
正 なんか >53 みたいに、わけのわからん方向に行ってるし…


58 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 23:01:03 ]
この程度のことで短気な人

59 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 23:10:37 ]
みんなOfficeと同じような感覚で使ってるんだから仕方がないよ

60 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 00:13:58 ]
>>33
うちの環境じゃ落ちないよなあ。めちゃ安定。
DellだとかHPの業務用に売られているマシンでしか使ってないから
他の環境のことはわかんないや。

Visual Basic 4の頃に、環境がたまに落ちていたのが、マウス付属の
ユーティリティドライバを外したら治った経験はあります。

なににせよ、プログラミングが安心して出来ないのは辛いでしょうね。
その3台に共通の部分を抽出できたら原因の特定も出来るのでは
ないかと思いますよ。





61 名前:デフォルトの名無しさん [2007/07/14(土) 10:19:49 ]

みなさん教えて下さい、これまで使えてきてた部分が突然例外メッセージが出て止まる
ようになったのですが、

そこは単に初期化のところで、

#Region " 初期化 "
Public Sub New()

' この呼び出しは、Windows フォーム デザイナで必要です。
Me.InitializeComponent()               <----------------------[*1] 

' InitializeComponent() 呼び出しの後で初期化を追加します。
InitializeSettings()
End Sub
#End Region

ここの [*1] において、突然、次の例外メッセージが出てしまうようになりました。

「指定されたアセンブリ名またはコードベースは無効です。 (HRESULT からの例外: 0x80131047)」

[*1]は、単にPartial記述されたFormのコントロール配置の部分なのですが、
こういう基本的な部分が自分のクラス内からこのようなメッセージ内容で
呼び出せなくなるようなことはあるものでしょうか、すみませんがよろしければ
ご指導お願いしたく。

ここはこれまで普通につかえてきていた部分で、全く意外なところなのですが、
これまでのWindows2000の環境から、別のPCに移りまして、そこですぐにWindowsXp
のオンライン更新が掛かったようでしたが、その2日後ぐらいで初めて出るように
なりました。自分自身のクラス内の Me.InitializeComponent() が呼び出せない
といったようなことはあるものなのでしょうか?よろしくです。

62 名前:61 mailto:sage [2007/07/14(土) 10:23:51 ]
この例外ですが、PCを再起動した後で直ることもあれば、直らないこともありました。
電源を完全に落としてからやると直ることが多いようでした。

こうしたことはあり得るものでしょうか・・・???


63 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 13:02:32 ]
>>61
Form1.Designer.vbのInitializeComponent()の属性をコメントにしてみると
InitializeComponentのどこで落ちてるかはっきりする。
この属性があるとこの中のどこで落ちても
InitializeComponent()の呼び出しに失敗したように見える。

'<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()


64 名前:デフォルトの名無しさん [2007/07/14(土) 15:34:24 ]
>>63

ありがとうございます!!助かります!!
すぐに調べてみます!!


65 名前:デフォルトの名無しさん [2007/07/14(土) 23:38:09 ]
VB.NETでEXCELとかいじくれるようにOpenOfficeとかいじれないのかな?

66 名前:65 [2007/07/15(日) 00:56:47 ]
自己解決しました。

67 名前:デフォルトの名無しさん [2007/07/15(日) 01:03:58 ]
>>66
してねええええええええええええええええええええええええええ!!!!!!
勝手に解決すな!

68 名前:66 mailto:sage [2007/07/15(日) 01:39:21 ]
イベントを監視するイベントってない?

具体的にはBindingNavigaterでDataTableに行を追加した直後に発生する
イベントを知りたいんだけど。
currentitemchangedもcurrentchangedもaddingも行を追加する直前みたい。

69 名前:デフォルトの名無しさん [2007/07/15(日) 01:49:06 ]
>>68
そこで継承ですよ。
継承してイベント発生直前に自前のイベントを投げると。

70 名前:デフォルトの名無しさん [2007/07/15(日) 02:05:41 ]
むしろデータテーブルのイベントハンドラをフックすればそれでいいんじゃね?
順序にもよるが データテーブルで発生したイベントの後でナビゲータ側でイベント発生してるはずだし



71 名前:69 [2007/07/15(日) 02:08:24 ]
>>70
お前とはまったく気が合わない><;
フックする前にもうちょっと自前でなんとかできないか考えるのが俺流!

72 名前:70 [2007/07/15(日) 02:12:50 ]
フックつうか言い方が悪かったか
イベントハンドラに関数追加するだけだと思うが・・・・
継承とかのが大げさだと思うけど

73 名前:68 mailto:sage [2007/07/15(日) 02:21:28 ]
ホントは66じゃない私のために喧嘩はやめて! ><;

74 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 02:24:59 ]
意味のないコテうぜぇwwwwwwww

75 名前:69 [2007/07/15(日) 02:28:31 ]
>>72
あ、そうなんだ。
フックなんていうから、Windows メッセージを拾うのかと思ってた。

この会話を>>68が理解できればいいのだが・・・。

76 名前:デフォルトの名無しさん [2007/07/15(日) 02:42:45 ]
>>75
どうなんだろうね

つうかDataGridViewとかで表示してるならDataGridViewのRowsAddedイベントがあったような気がするんだけどなぁ・・・・

77 名前:68 mailto:sage [2007/07/15(日) 03:24:15 ]
具体的にやりたいのはForm上にDataTableにバインドされたコンボボックスがあり、
BindingNavigatorの新規追加ボタンを押すとSelectedIndexが-1に初期化されます。
これを直前のインデックスを保持させるか、変数に取っておいたものを再設定したいです。

DataGridViewのRowsAddedも試してみましたがタイミングは追加された行の制御を渡す前に
発生しているようで、しっかり初期化されちゃった。 ><

例えば>72さんの方法だと、TableNewRowイベントハンドラに自作関数を追加するという
ことですか?

78 名前:デフォルトの名無しさん [2007/07/15(日) 03:28:15 ]
>>77
それだったら新規追加ボタンのクリックイベントでSelectedIndexいじればいいんじゃないのかと・・・・?

>>72
イベント名は忘れたけど まぁそういうことかな
まぁ簡単にできるんであればそんなことする必要もないんだけど

79 名前:68 mailto:sage [2007/07/15(日) 03:40:10 ]
>>78
新規追加ボタンに書いても、それがダメなんです。 ><
consoleにも書き出して確認したんだけど、新規追加ボタンのクリックイベント時点では
Me.ComboBox.SelectedIndexがまだ前の値なんで、イベント終了すると初期化されちゃう。
なんで?新規追加したときはcurrentがインスタンスじゃないから?

それで、制御もらってから発生するイベントがないかなとおもったんです。



80 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 03:48:30 ]
くそ



81 名前:68 mailto:sage [2007/07/15(日) 17:08:31 ]
だめだー、ComboBoxのMouseClickイベントでも受付ないよー 

Form_LoadだとSelectedIndex設定できるのになんでだじょ?
だれかヘルプミー (´;ω;)

82 名前:68 mailto:sage [2007/07/15(日) 17:18:54 ]
ごめんなさい、MouseClickイベントだと受け付けました。

83 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 17:28:18 ]
Function
 共通処理(変数宣言)
 Try
  メソッド特有処理(メソッドによって異なる処理)
 Catch ex As Exception
  共通処理2(ロールバック)
 Finally
  共通処理3(戻り値の設定やログ書き出し)
 End Try
End Function

このようなメソッドがいくつもある状態なのですが、
共通処理の部分をまとめて部品化させたいと思っています。

あたらしく、どんな処理をさせればいいかの文字列を受け取って、
TryCatchを組み、文字列によって、Try内の処理をSwitchで分けるようにしてみたのですが・・・
もっとスマートに組む方法はないでしょうか?

84 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 17:39:25 ]
>>83
ポリモフィズム

85 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 17:58:55 ]
>>84
オーバーロードでしょうか?
メソッドが計20種類あり、それぞれ引数がString型2〜4つになっており
その中には同じ引数のものも存在するので、自動的な分岐ができないんです。

86 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 18:23:35 ]
>>83
決まり文句 「例外処理を分岐に使うな」
でもその前にExecute("計算")はアホ設計の典型

87 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 18:36:23 ]
>でもその前にExecute("計算")はアホ設計の典型
唐突ないいがかり、あるいは思い込みによる罵倒。

88 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 18:41:13 ]
Try前に変数宣言(どのメソッドでも行う)
Try内でメイン処理
Catchではメイン処理でエラーが発生した際のデータ復元(どのメソッドでも行う)
Finallyで処理内容を書き出し(どのメソッドでも行う)

このような処理をしているのですが、これも例外処理で分岐させていることになるのですか?
だとしたらどのように記述するのがベターなんでしょうか?

あとExecute("計算")がダサイのは自分でも把握しています(;´Д`)
より良い方法があればご教授お願い致します。

同じようなTryCatchを毎回それぞれのメソッドに記述しており
「Finally区で処理をひとつ増やしたい」などの時に、メソッド全てを書き直す必要があり大変なので
メソッドごとに違うメイン処理以外を部品化させたいというのが要望です。

制約として、引数が同じでオーバーロードによる自動分岐ができませんorz

89 名前:86 mailto:sage [2007/07/15(日) 18:51:44 ]
すまん例外の使い方の意図を勘違いしてた
>>84の言ってるようにポリモルフィズムを使えば?
すべての「特有処理」を表すインターフェイスを定義して、
それぞれの特有処理クラスはそれを実装する

90 名前:83 mailto:sage [2007/07/15(日) 19:35:22 ]
>>84 >>89
ありがとうございます。少し前進しました。
もう少し質問をさせてください(長文すみません)

↓インターフェース
Public Interface hoge
Function 特有処理()
End Interface

↓特有処理を行うクラス(特有処理の数だけ作成)
Implements hoge
Public Sub 特有処理() Implements hoge.特有処理
 特有処理を行う
End Sub

↓メインクラス内の処理
Function(ByVal huge As hoge)
 共通処理
 Try
  huge.特有処理()
 Catch ex As Exception
  共通処理
 Finally
  共通処理
 End Try
End Function

特有処理の種類によって引数が同じだったり違ったりする為、インターフェースを実装できないものがあります
Nothingあたりで無理矢理に引数の数を同じにしてでも実装するべきでしょうか・・・・?
それと、それぞれの特有処理クラスが処理を行っている最中にエラーが発生した場合、
そのエラーをメインクラスがCatchできるようにするにはどうすればよいのでしょうか?



91 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 19:50:05 ]
>>88
なんとなく多態ポリモーフィズムよりデリゲートを引数に渡して動作を
切り替えるやり方の方が向いてる雰囲気だね.


92 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 19:53:10 ]
>>90
割り込んで悪いけどインターフェイスを使うって話はヨタだと俺は思うよ。
この場合は、

Function Hoge()
 Initialize()
 Try
  DoSomething()
 Catch ex As Exception
  Rollback()
 Finally
   Cleanup()
 End Try
End Function

のHoge()、DoSomething()(これはMustOverrideにする)、Rollback()、Cleanup()をもつ
MustInheritなクラスを作った方がいい。

93 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 19:57:01 ]
> それと、それぞれの特有処理クラスが処理を行っている最中にエラーが発生した場合、
> そのエラーをメインクラスがCatchできるようにするにはどうすればよいのでしょうか?
特有処理クラスの中でCatchしなければおk

>>92
それなら特有処理インターフェイスのメンバにRollback()とCleanup()を定義したほうがいいと思うよ
共通処理をばらばらにやってたら結局同じ

94 名前:デフォルトの名無しさん [2007/07/15(日) 20:25:44 ]
Sub aaa()

Dim a(10) As Integer
Dim i As Integer

a(0) = 32
a(1) = 14
a(2) = 56
a(3) = 15
a(4) = 7
a(5) = 18
a(6) = 102
a(7) = 88
a(8) = 11
a(9) = 57
a(10) = 58
'-------------------
'この間で
'-------------------
For i = 0 To 10
Debug.Print a(i)
Next

End Sub

超初心者質問ですみません。
上のようにa(10)にランダムの数字が格納されていて
これを昇順(若い順)に格納しなおしてから
表示するようなプログラムを作りたいの
ですがどのようなやり方があるでしょうか。。


95 名前:デフォルトの名無しさん [2007/07/15(日) 20:35:18 ]
List(of Integer)
自分でソートの順序も最悪決定できるし

96 名前:デフォルトの名無しさん [2007/07/15(日) 20:40:30 ]
>>94
おまえすごいなw

ttp://pc11.2ch.net/test/read.cgi/tech/1099112351/590
ttp://pc11.2ch.net/test/read.cgi/tech/1165574205/487

素晴らしいwwwwww
別に叩く気はないが
プログラム覚える前にネットの人との付き合い方の常識勉強しろよ


97 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 20:48:36 ]
>>93
おいおい継承すら理解してない人間がポリモーフィスムがどうこう言ってたのかよ

98 名前:デフォルトの名無しさん [2007/07/15(日) 20:50:41 ]
つうか、例外を発生した時の基本的な動作判ってないようなやつがPG組むなよ
思いっきりスタックトレースとかメモリ情報集めてパフォーマンス落ちるじゃないか

パフォーマンスが問題ないとしても 使われざる所に使ってるのは最悪だな
見分けをつけなきゃいけないじゃないか

エラーが起きるか起きないかで判定するならBoolの関数でも作れよカス

99 名前:88 mailto:sage [2007/07/15(日) 21:13:41 ]
>>91
デリゲートを始めて使ってみたのですが、
引数の数が固定されるのでインターフェースと同じように無駄引数を準備する必要が、orz
何か使い方が間違っているのでしょうか?

Delegate Sub MyDlg(ByVal x1 As String, ByVal x2 As String)

Dim hoge As New 特有処理(3).特有処理
Dim Dlg As MyDlg

Dlg = AddressOf hoge
Dlg.Invoke("test","test")


>>92
確認も含めて質問させてください。

共通処理の部分(部品化したい部分)をスーパー抽象クラス(?)にして、
特有処理の部分をオーバーライドで変化させる形ですよね?

間違っていたら恥ずかしいのですが、オーバーライドの存在を忘れていました。
確かにこうすれば、引数が同じものと違うものが混ざっていても、確実に処理を分けられますね。
ありがとうございました。

>>93
メソッドの返り値をエクセプション型にして返そうとしてたのですが、
Catchを組まないだけでメインの方に飛ぶんですね。
勉強になりました。ありがとうございます。

100 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 21:36:35 ]
最初のコードでよかった件








[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<252KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef