[表示 : 全て 最新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くらいまでの間にある予定

840 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 20:46:33 ]
>>839
根本的に間違ってるね。
そもそも非同期とはどういう意味なのか、理解してないんじゃないの?
あるいは自動変数のスコープの概念を知らないのかな。

メソッドの中で作った'instance'への参照はメソッド抜けるとなくなる。
そこはOK?

ドトネドにはガベージコレクターというものがあって……という話は理解してる?

841 名前:832 mailto:sage [2007/08/31(金) 21:19:25 ]
>>840
レスありがとうございます。

C言語レベルでしたらスコープ等は理解しております
VC++の非同期は多少は・・・知っているつもりです
ガベージコレクションがあることは初めて知りました。

ところで、メンバ変数/クラス変数として以下を宣言してみても同様のエラーでした。
Dim instance As New SampleClass
Dim m_address As SampleDelegate = AddressOf instance.Method

恐れ入りますが、他にポカがありましたらご指摘いただければと思います。

842 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 21:54:49 ]
コールバックされるメソッドのシグネチャも合ってないよね。

843 名前:832 mailto:sage [2007/08/31(金) 23:29:29 ]
>>842
レスありがとうございます。

VC++のように決まった形があるのかな、と意味も分からずに
Delegate Sub SampleDelegate(ByVal sender As System.Object, ByVal e As System.EventArgs)
Public Class SampleClass
Public Sub Method(ByVal sender As System.Object, ByVal e As System.EventArgs)
MsgBox("Method")
End Sub
End Class
としてみたところ、

System.Runtime.InteropServices.MarshalDirectiveException:
parameter #2 を集成できません。このクラスの型の定義にレイアウト情報がありません。

とエラーが変わりました。
この点調べてみたいと思います。

844 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 23:35:54 ]
ADO.netでOracleに接続する場合、ConnectStringって何を渡せばいいんですか?
ネットで検索しても伏字になっているところに具体的に何が入るのかわからなくて困っています。

845 名前:デフォルトの名無しさん [2007/08/31(金) 23:53:33 ]
ListViewコントロールをArrayListにつっこんだんですけど、
そのつっこんだListViewのイベントって、どうやったらとれるのでしょうか?

Dim lvwFile As ListView = New ListView
arrLvwFile.Add(lvwFile)
arrLvwFile(arrLvwFile.Count - 1).View = View.Details

のばあいの、Listview1.mousedown とかほしいのでうs。

846 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 23:57:09 ]
Listview1 ってなんだよ唐突に出てきたけど
とれるとかほしいとか意味がわからん

847 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 00:01:19 ]
コントロール配列の場合は、

arrLvwFile(0) = New ListView
arrLvwFile(0).View = View.Details
AddHandler arrLvwFile(0).MouseDown, AddressOf test

でarrLvwFile(0)のMouseDownイベントでtest関数が呼べたのですが、
ArrayListに入れた場合がわからないのです。。

848 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 00:12:00 ]
AddHandler は遅延バインディングには無理なんだっけ
キャストすればいいだろ



849 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 00:13:35 ]
>>844
データソースとかの名前をどこから引っ張ってくるかという話しなら
以下のあたり見ておけばいいと思うけど。
ttp://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/win.102/B31247-01/featConnecting.htm

850 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 00:29:31 ]
>>848
AddHandler DirectCast(arrLvwFile(arrLvwFile.Count - 1), ListView).MouseDown, AddressOf test
でできました!感動のあまりちんこの先がぬれました
ありがとうございます。

851 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 01:10:07 ]
>>843
その調子じゃ、言っては悪いが調べても無駄そうだな。
>Public Sub Method(ByVal sender As System.Object, ByVal e As System.EventArgs)

こんなシグネチャがいったいどこから出てくるの?
アンマネージからコールバックされるのに、こんなドトネトのマネージコードの
イベントと同じシグネチャって変だとは思わないか?

WriteFileEx なんてドトネトが影も形もないころに仕様が決められたAPIでしょ。

852 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 02:02:58 ]
>>844
基本的にはオラクル接続に必要な

USER
PASSWORD
SID

をわたせばおk。

853 名前:デフォルトの名無しさん [2007/09/01(土) 02:16:47 ]

どなたか Gilma (=ILMerge のGUIツール) および ILMerge を使ってる方が
居たら教えてください。

このユーティリティでは DLL がたくさんある場合のマージは難しいでしょうか?

比較的少なめの個数の DLL (数個程度) 使用では問題なくマージできるのを
確認していたんですが、10個ぐらい DLL が必要なものでやったところMerge が
最後まで行かず、 Done のメッセージが出ないまま、エラーのメッセージも出ずに
終了してました。結果として目的の Exe ファイルも作成されていませんでした。

最後の DLL のところで、Read successfully にはなっているのですが、その後の
2行目のメッセージが出ずに Log が終わっていました。そこで何かエラーしている
のかもしれないんですが、問題がなんなのかわかりませんでした。

もし似たようなことになったとき何か対策して解決されていた方いらっしゃったら
教えていただきたく。何卒よろしくお願いします。


854 名前:853 [2007/09/01(土) 02:19:49 ]
(追記)

>>853 ですが、コマンドラインのテキストは、 DLL が少ない場合のときと同様
に規則通りできているようでした。

DLL マージ前の状態での動作確認は一応OKで、DLLが無くて動作しない、
という状況ではありませんでした。



855 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 02:31:56 ]
なんでそんなにDLLって嫌われるんだろうね

856 名前:832 mailto:sage [2007/09/01(土) 03:27:10 ]
>>851
レスありがとうございます。

恥ずかしながらアンマネージやらマネージやらは初めて聞きました。
色々調べてみます。

#Unix選手がゲイツを何も知らずにいきなり.NETってのはかなり無謀ですね・・・

857 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 04:20:06 ]
つーかUnix使ってたらCつながりでC#に行かないか普通?
まあ仕事なら仕方ないがチーン

858 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 07:58:15 ]
>>852
SIDは違うんじゃね。



859 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 09:43:39 ]
tnsnameだね。sid渡すのはjdbcだね

860 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 09:59:08 ]
>>849
>>852
>>858
>>859
ありがとうございます。
でもどのページを見ても
「データベースに接続したことはあるけど細かい設定があいまいな人」用って感じで
データベースに接続するのがまったく初めてで独学の人には難しいんですよ。
Common SQL Environment ってソフトでは
ユーザーIDとパスワードと接続文字列ってやつを渡すと繋がりますが、
ConnectStringにはこの接続文字列ってのは渡さなくてもいいんですか?


861 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 10:02:43 ]
初心者で独学で、なぜにoracle

862 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 11:05:42 ]
>>856
参考になるかどうか解らんが↓
  コールバック関数の実装
  msdn.microsoft.com/library/ja/cpguide/html/cpconusingcallbackfunctions.asp?frame=true

863 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 11:09:11 ]
すいません。一つ質問させてください。
VB2005でテキストボックスに入力されている文字が
10進数か判断するにはどうすればいいでしょうか?
IsDigitは1文字しか調べられないようだし
IsNumericは数字以外もTrue扱いだし・・・

864 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 11:13:30 ]
一文字ずつIsDigitとか
まあ正規表現使った方が手っ取り早いけど
でもいわゆる全角の数字とか考えてるのかな

865 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 11:14:16 ]
>>863
文字と数値の判別なら、あげた関数等を駆使すれば可能だろう。

だが、10進数かどうかを判別するのは不可能。

866 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 11:40:27 ]
プレフィクスのついてない数字を10進判定なんてできないだろ常識的に考えて……

867 名前:863 mailto:sage [2007/09/01(土) 12:02:45 ]
お答えをいただきありがとうございました。
やっぱりあの2つでは駄目なんですね・・・
ただ言われたとおり正規表現使えば出来そうですので
そっちを使ってロジック組むようにしてみます。

868 名前:デフォルトの名無しさん [2007/09/01(土) 12:28:41 ]
すんません、
vb.net2005で
MIDI音源で音を出したいのですが
やり方が全くワカリマセン。

例えば
ドのボタンを押したらドがなるなどということです。
使用するクラスとか、関数とかなんでもいいので教えてもらえないでしょうか。

また、別途ツール等が必要ならその情報でもいいです。オネガイシマス



869 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 12:31:40 ]
ttp://www.google.co.jp/

870 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 12:39:27 ]
>>860
まずプログラムからじゃなく、
SQLPLUSとかで接続してみなよ。
で接続できるか確認しましょう。

871 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 13:03:03 ]
>>870
いえ、CSEなどでは接続成功しています。
ただADO.NETのConnectStringに渡す文字列がわからない状態です。

872 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 13:40:22 ]
オラクルのクライアントが入ってるんならでダメかな?

Dim hoge As Oracle.DataAccess.ClientOracleConnection
Dim str as String

'接続文字列
str = "User Id=" & ユーザー名 & ";Password=" & パスワード & ";Data Source=" & サービス名

hoge = New OracleConnection(str)
hoge.Open()

873 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 13:42:02 ]
>>871
ツールボックスからフォームにOracleConnectionを貼り付けて、
プロパティのConnectionStringで<新しい接続>を選択すると簡単だよ。
OracleConnectionがないときは、ツールボックス アイテムの選択で追加してね。
名前空間がSystem.Data.OracleClientのを使ってね。

874 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 16:42:21 ]
>>872-873
ありがとうございます。
無事接続できました。

875 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 21:40:01 ]
VB2005です。

自分の実行ファイルのディレクトリをコードで取得するコードをお願いします。
VBAのThisWorkbook.Pathみたいな感じ。

876 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 21:54:17 ]
自己解決じました

877 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 01:02:42 ]
>>189使う。
でもVBのライブラリ参照したらその機能あった気がするのでそっちのがいいかな?



878 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 01:03:27 ]
まちかえたよ?




879 名前:デフォルトの名無しさん [2007/09/02(日) 15:00:26 ]
If System.IO.File.Exists(filename) = False Then
System.IO.File.Create(filename)

Dim sw As New System.IO.StreamWriter( _
filename, _
False, _
System.Text.Encoding.GetEncoding(932))

sw.WriteLine(”あいうえお”)
sw.WriteLine()
sw.Close()
End If

こんなコード書きました
filenameにはフォルダパス付きファイル名が入ります
ファイル作った後sw をnewする時点で
他のプロセスが使用中というメッセージが出て書き込めません。
使用できる状態にするにはどんなコードを追加すればいいですか?



880 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 15:07:39 ]
File.Create しらべれ

881 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 15:18:37 ]
解決しました。


882 名前:デフォルトの名無しさん [2007/09/02(日) 23:59:31 ]
エンコードで質問です。
System.Web.HttpUtility.UrlEncodeを使ってURLエンコードをしたいのですが
UTF-8のタイプでエンコードされています。
EUC-JPのタイプでエンコードしたいのですが、うまくいきません
System.Text.Encoding.GetEncoding("EUC-JP")こうしてバイト配列にしてもダメでした
どうやればいいのでしょうか?

883 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:06:36 ]
>>882
URLエンコードなんてやったこともなかったが、ググったら30秒で答え見つかったぞ。
www.atmarkit.co.jp/fdotnet/dotnettips/212urlencode/urlencode.html


884 名前:882 mailto:sage [2007/09/03(月) 00:56:07 ]
自己解決しました。
エンコード方法を指定できたのですね・・・

885 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 02:11:06 ]
お前は聞いといて回答を見てないのかw


886 名前:デフォルトの名無しさん [2007/09/03(月) 15:42:38 ]

ExplorerがWindowsから受け取っているような、
Folder内の内容が変わったことを知らせるメッセージを受け取る方法
はあるでしょうか。

数秒おきに監視するという仕組みを導入すると
ファイルがたくさん存在する場合、時間がかかってCPUの占有率が100%
から落ちて来ず、困るのでした。

Explorerの場合、直接コピペしたりD&Dしたりした場合でなくても、
他で変化させたファイルやフォルダーが1秒程度で反映しており、
また常時監視もしていないことがわかりました。

これはたぶんWindowsからのメッセージを受け取っていて実現できている
ものと想像したのでした、これと同じメッセージかなにかを別のアプリケーション
で受け取ることは可能でしょうか?何かアドバイスを戴ければありがたく。

887 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 15:47:04 ]
>>886
FileSystemWatcher

888 名前:886 [2007/09/03(月) 15:54:01 ]
>>887

おお。存在したのですね!助かりました!!
さっそくのご指導、大変ありがとうございました!!




889 名前:デフォルトの名無しさん [2007/09/03(月) 18:54:47 ]
MSチャートコントロールについて質問です。
棒グラフに表示する値が100万以上の時、棒グラフにはきちんと「1000000」と表示されるのですが、
Y軸の値が「1e+006」みたいに表示されてしまいます。「1e+006」ではなく「1000000」のように表示させる事は可能でしょうか?
可能ならばどのようにするのかご教授お願いします。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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