- 1 名前:デフォルトの名無しさん [2005/08/23(火) 17:08:00 ]
- .NETに関する総合スレッドです。
- 604 名前:デフォルトの名無しさん [2006/10/27(金) 03:39:57 ]
- forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=798587&SiteID=7
- 605 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 21:21:15 ]
- COMコンポーネントについてお聞きします。
COMオブジェクトを作成する際はもう至極当然の事のように、 参照カウントを必ずデクリメントするように言われてます。 で、そのときの構文が try {} catch {} finally {} 中でのMarshal.ReleaseComObject(); の使用。 これが雛形とされているようです。 で、とある人は必ず このtry文を複雑にネストしなさい、必ずデクリメントしなさいと薦めてます。 もうね。無理。このご時世になんだそれ。 使用後に while(obj!=null && i>0) i=Marshal.ReleaseComObject(obj); じゃだめなんでしょうか。
- 606 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 22:19:20 ]
- それ意味ないし。
FinalReleaseComObjectってのあるけど。 ネストさせるのは、例えば HogeObject.Document みたいなので HogeObject および HogeObject.Document のどっちもきちんと解放させるためじゃ?
- 607 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 22:59:36 ]
- レス有難うございます。
意味無いのでしょうか。 今製作中のアプリだと動くんですよね。 ちなみに対象はExcelオブジェクトなんですけど クラスのprivateインスタンスとして Application〜Rangeまでを作成します。 ゆえにtryは一回のみ。ネストさせてません。 (例外発生時は下記手段でクラスインスタンスごとDisposeします。) この作成したインスタンスをクラス内外からアクセスさせまくって アプリ終了時に 用意しておいたDisposeを使ってRange→Applicationの順で上記方法で開放します。 するとちゃんとExcelプロセス毎消えますよ。 当然GCとか使ってないです。 この手段を使わない場合、ネストが当然深くなってたんですけど コード構造がそもそも複雑になりすぎて、Disposea内での解放後(一度だけReleaseする) に参照回数が0じゃ無かったんですよ。当然プロセスも残ります。
- 608 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 23:01:52 ]
- >>604
どうネストしたらそれと同じになるんだよ。 だいたいそのwhileもいやな感じだな。最初にiになんか入れとくのか?
- 609 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 23:05:53 ]
- それはネストにあたってるのは参照を保存してる部分だろうに。
whileでカウント0までループさせるのとは別の意味だろ。 で、場合によってはそのやりかたはまずいとか聞いたことがあるんだが ま、ネスト書きまくるよりは確実(ミスの可能性が少ない)かもな。 で、当然プロセスが残ります、のはお前のせいだろ
- 610 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 23:30:39 ]
- レス有難うございます。
whileの書き方は確かに気持ち悪いですね。申し訳ない。 ええとですね。ちょっと話飛ぶんですけど、どういう状況でプロセス残っているのか。 今作ってるのがですね 親と子の二つのスレッドで動いてるアプリなんですね。 で、親だけが、親が作成したExcelオブジェクトを参照している分には 上記のようなwhileを使わずとも、きちんと開放できてるんですよ。 で問題は、子でこのオブジェクトを参照したときに開放できなくなるんです。 子が参照するのは一箇所のみ。 参照するのはRangeだけなもんで、子でRangeインスタンス作成してそのインスタンスについて 通常通りの流れでアプローチしたんです。 すると、今度はプロセスを開放できないばかりか、Excel画面上でもおかしな現象が発生。 フリーズした感じになるんですよ。 どうしたもんかと思い、子でも同じインスタンスを作成して子のスレッド内で独立して オブジェクト開放もしてみたんです。 そうすると、親のインスタンスを触ってないにも関わらず、今度は親のオブジェクトが解放されてません。 Excelオブジェクトを管理するクラスは一つだけに抑えたかったのもあり 試行錯誤した結果、上記に至ったわけです。
- 611 名前:デフォルトの名無しさん [2006/10/31(火) 15:01:03 ]
- VC.NETで自分自身のユーザー名を取り出す方法を教えてください。
- 612 名前:デフォルトの名無しさん [2006/11/08(水) 22:36:43 ]
- VisualStudioインストロールしてなくても、.NET Frameworkだけ入れればcscとかのコンパイラも入ってますか??
- 613 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 22:41:43 ]
- ランタイムだけでおk
- 614 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 22:42:14 ]
- コンパイラはFrameworkのフォルダに入ってる。
その他のツールはFrameworkSDKをダウンロード。
- 615 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 22:45:28 ]
- ありがとうございます!
- 616 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 23:17:11 ]
- .NET Framework 3.0 日本語 Language Pack は、まだうpされていないね。
- 617 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 23:21:35 ]
- >>616
.NET Framework 3.0 入れるだけで勝手に入ったよ。
- 618 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 12:21:57 ]
- UNIXなんかにccがあるのに真似たんだろうけど、何か不純な感じ。
やっぱ、UNIXのccはOSをコンパイルできる(次のブートがガクブルだけど)のに対して、 あまりにも.NETはOS上の箱庭だからかな。 セキュリティのサンドボックスにはなり得ない箱庭。
- 619 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 12:41:54 ]
- >>618
何を言っているのかさっぱりわからん・・・ CodeDomやリフレクションとかの絡みで入ってるんだと思うが。 cc 入ってない Unix だって伝統的には多いし。
- 620 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 13:43:05 ]
- >>619
相手にすると喜ぶだけですよ
- 621 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 14:27:57 ]
- .NET Framework 3.0 SDKの日本語版は、まだかな
- 622 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 20:42:29 ]
- >>618
アンチのラベルが分かるスレだな。
- 623 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 20:46:09 ]
- 他のスレでは、アンチや荒らしでも少なくとも最低限のプログラミングの
経験はありそうな奴がやっているように思うんだけど、このスレの荒らしは どう考えてもプログラミング経験が無いように思える・・・ でもそんな奴がこの板見てるわけないし、いったいどういうことだ?
- 624 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 21:26:37 ]
- 元々過疎気味のスレだし
別にそうカリカリせんでも
- 625 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 23:17:54 ]
- >>623
VBAをちょっと組んだことあるレベルでVB.NETをちょっと触ってみた人とかじゃ?
- 626 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 01:24:05 ]
- 単なるPC UNIX初心者
- 627 名前:デフォルトの名無しさん mailto:sage [2006/11/12(日) 13:20:12 ]
- >>621
そもそも単体の3.0の英語版SDKないぽいし。 Platform SDK + .NET Framework SDK = Windows SDK(VISTA用) らしいので、しばらく出ないんじゃない? 日本語ドキュメントは日本語MSDN Libraryの更新だけとかでさ。 まー英語版ドキュメントでも埋まってない項目多いよね〜。 音声合成/認識がらみの.NET クラスライブラリのリファレンスとか。 あとβやCTPの頃のままサンプル張ってあるので、 そのままではサンプルが動かないのも結構ある。
- 628 名前:デフォルトの名無しさん [2006/11/13(月) 16:31:18 ]
- Microsoft .NET Framework 2.0がなにかにひっかかるようでPCが不安定。
そこで、同じWInXP使っているヤツに聞いたら、そんなソフトPCに入ってないって言うんだが、 これってWinXPのPCを買うと初めから導入されているソフトじゃないのか? フォルダーごと消し去っても問題なし?使っているソフトによってはヤバイですか?
- 629 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 17:00:22 ]
- ヤバい。
pc7.2ch.net/pcqa/ ここ行かないとかなりヤバめ。
- 630 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 18:56:05 ]
- >>638
こういうタイプの人って怪しい占い婆に先祖霊が背後霊がどうこうって 言われたら簡単に信じちゃうんだろうなw
- 631 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 18:56:50 ]
- 628だったか
- 632 名前:デフォルトの名無しさん mailto:sage [2006/11/13(月) 19:04:28 ]
- >>628
おそらく(漏れの知り合いでも無さそうだから)消しても問題ないと思うよ。
- 633 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 09:01:42 ]
- >>638に期待
- 634 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 18:36:50 ]
- 今日.NETを入れたが、セキュリティ更新プログラムが増えた。
何のための.NET。。。
- 635 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 02:14:49 ]
- 君のための、だヨ!
- 636 名前:デフォルトの名無しさん [2006/11/20(月) 19:54:34 ]
- .NETでCOMは作れますか?
- 637 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 20:19:13 ]
- yes
- 638 名前:デフォルトの名無しさん [2006/11/20(月) 20:27:28 ]
- dd
で、何か注意事項はありますか?
- 639 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 20:52:34 ]
- 注意事項:どつぼにはまる前に引き返す
- 640 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 20:57:05 ]
- どつぼですか・・・
- 641 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 20:20:59 ]
- >>636
物凄く単純な例が↓にあるますよ pc8.2ch.net/test/read.cgi/tech/1123842575/91 pc8.2ch.net/test/read.cgi/tech/1123842575/96-97
- 642 名前:デフォルトの名無しさん [2006/11/23(木) 13:36:37 ]
- Microsoftは、未だにVB6を使い続けるユーザー達のために、
Formの既定インスタンス機能や、IDEの挙動をVB6に似せるなど、 移行支援の為の対策をVB2005にたくさん盛り込んだわけだ。 特に、Formの既定インスタンス機能は、改悪と言って過言ではないと 自他共に認めるであろう。 MSは、そこまでしてVB6ユーザーを「救おう」としている。 さて、ここでVB6ユーザーであるスレ主が、 VB2005を使ってみて、居ても立ってもいられずに立ててしまったこのスレッドを見てみよう。 pc8.2ch.net/test/read.cgi/tech/1159446575/ > [VB6とVB2005って全然違わない?] > 1 :デフォルトの名無しさん :2006/09/28(木) 21:29:35 > まずcommandがbuttomになってて > ?? > 線引こうにもlineが認識されない > なんなの? 私たちはまだまだVB6ユーザーを甘く見ていたようだ。 救いようがないとはまさにこのことではなかろうか。 VB6ユーザーはVB2005に対して、完全同一な物を求めているようだ。 新しいものへのチャレンジ精神があまり備わっていないVB6ユーザーのために MSは色々な対策を行った。 しかし、いまだにVB6を使い続けているVB6ユーザーには、 新しいものへのチャレンジ精神など微塵も備わっていなかったのである。 このようなVB6ユーザーを生み出したのはMSである。 VB6からVB.NETへと革新的に進化させた結果、このようにいつまでもVB6を使い続けるクズどもが発生したのである。 もはや救いようのないVB6ユーザー。しかしそれでもMSは、最後までこのVB6ユーザー達を見放してはならない義務があるのだ。
- 643 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 13:41:11 ]
- マルチコピペ死ね
- 644 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 17:38:29 ]
- VB6ユーザって次世代コボラーかもしれないな。
- 645 名前:デフォルトの名無しさん mailto:sage [2006/11/24(金) 22:16:35 ]
- VS2005でツールボックスの「Button」や「Label」とかのアイコンが全部同じに
なるんですけど回避する方法ってありますか?
- 646 名前:デフォルトの名無しさん mailto:sage [2006/11/24(金) 22:42:17 ]
- >645
そういや俺のとこも時々なるなソレ 無視してたけど
- 647 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 04:00:42 ]
- うちもなる。
自作コントロールが表示されると、そのあとはだんだん腐っていく。 右クリ→ツールボックスのリセットすると戻るよ
- 648 名前:デフォルトの名無しさん [2006/11/25(土) 09:24:26 ]
- >647
右クリ→ツールボックスのリセットでもだめ・・・ しかも「ReportViewer」の場合、テキストとかグラフとかでるはずなのに 全部テキストになってしまう・・・
- 649 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 15:39:07 ]
- windows developer magazine廃刊なんだね
こんかいのサービスプログラムのやつは入門向けでよかったのに
- 650 名前:フォゥン グシャ mailto:sage [2006/12/01(金) 23:17:33 ]
- どうせ囲い込まれるなら、
Oracleに囲い込まれる方がはるかにマシだと思った。 信じてた。 ……いや、信じてる。 今この瞬間だって、信じてる。 でも……薄々は気付いてる。 信じたいのは、認めたくないだけだからだ。
- 651 名前:デフォルトの名無しさん mailto:sage [2006/12/02(土) 19:16:29 ]
- シルバーで毎年お布施ですか?
- 652 名前:デフォルトの名無しさん mailto:sage [2006/12/02(土) 23:42:06 ]
- "WPF/E" (codename) Dev Center
msdn.microsoft.com/wpfe
- 653 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 10:05:14 ]
- 提供する側は、もう、ホクホクしたり顔なんだけども。
相変わらず、翻訳してるやつらがメインでわかってるやつがいないから、日本語のページがあってもスカスカ。 それが、WPF/E
- 654 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 21:30:03 ]
- ArrayListで多次元の配列は作成できますか?
- 655 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 01:11:14 ]
- 知恵をお貸しください
ListView上でLargeIcon表示させて並びをマウスで変えたいのですが そこで、IconとIconの間に I を表示させるにはどうしたらよいのでしょうか? OSはXP、2005C#です
- 656 名前:デフォルトの名無しさん mailto:sage [2006/12/23(土) 10:19:55 ]
- >>654
配列の配列にすればいいのでは。
- 657 名前:デフォルトの名無しさん mailto:sage [2006/12/25(月) 20:15:18 ]
- .netでCtrl + Fが押下されたことを所得する関数名を教えてくださいませ。
- 658 名前:デフォルトの名無しさん mailto:sage [2006/12/25(月) 20:31:24 ]
- ↑
657です ×所得 ○取得 でしたスマソ、よろしくオナガイシマス
- 659 名前:デフォルトの名無しさん mailto:sage [2006/12/25(月) 21:47:38 ]
- そのときにキーフォーカスがあるコントロールにKeyDownイベントをアタッチ
もしくはFormにKeyPreview = trueを設定しておなじくKeyDownイベント
- 660 名前:デフォルトの名無しさん mailto:sage [2006/12/25(月) 22:28:10 ]
- >>659さん
657ですどうもです 言葉足らずでした、別のアプリでCtrl + Fが押下された事を取得する場合は 同じ方法ではだめですよね?
- 661 名前:デフォルトの名無しさん mailto:sage [2006/12/25(月) 22:29:30 ]
- 「グローバルフック」でぐぐれ。
|

|