トップページ⇒tech
1001コメント347KB

【老若】VB.net質問スレ【男女】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
VB質問スレはあるのに、「VB.net質問スレが無い!」
と憤慨しているアナタ!
の為に立ててみました。
VB.net初心者〜VB.net神
まで自由に書き込んでチョ。
0237デフォルトの名無しさんNGNG
>>236
parentちゃんと設定してる?
0238234NGNG
>>235
素早い御回答、ありがとうございました!
マジで助かりました!!!
0239デフォルトの名無しさんNGNG
自動構文チェックて外せないのでしょうか?
いろいろ見てみたんですけど、どうしてもわからない。
「できない」っていう情報でもかまいません。
よろしくお願いします。
0240デフォルトの名無しさんNGNG
>>239
それが無くなったらVBがVBでいられなくなります。
0241デフォルトの名無しさんNGNG
>>239
自動構文チェックのチェックをはずす。
0242239NGNG
> 自動構文チェックのチェックをはずす。

え、あるんですか?
探したんですけど見つからなかったんですよ。
できれば教えていただけますでしょうか。
0243236NGNG
237>ありがとうございました
設定しておりませんでした。
設定したら、無事解決できました。
0244デフォルトの名無しさんNGNG
>>242
ツールのオプションからテキストエディタでVB固有
あとは自分でチェックの組み合わせを探してみろ
探せよ
0245239NGNG
> ツールのオプションからテキストエディタでVB固有

そこでしょ、真っ先に探しましたよ
いろいろやってみましたけど、できなかったんですよ
VB6ではそのものずばりの設定があったんですけどねぇ
0246デフォルトの名無しさんNGNG
シャープエディタを使うというオチはどうですか?
0247デフォルトの名無しさんNGNG
シャープエディタ?
0248デフォルトの名無しさんNGNG
>>239
まだそのチェックをはずす資格を得てないとか。
0249デフォルトの名無しさんNGNG
Dim AddButton As New Button()

'選択されているタブページにボタン1を追加する。

TabControl1.SelectedTab.Controls.Add(AddButton)
AddButton.Text = "ボタン1"

上で追加した「ボタン1」をクリックした場合の処理をコード
に書きたい場合はどのように書けばよろしいのでしょうか。
0250デフォルトの名無しさんNGNG
自動構文チェックって間違った文を書いたとき警告してくるあれか?
あれおもしろいじゃん。
0251デフォルトの名無しさんNGNG
>>249
Private Sub AddButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddButton.Click

End Sub
0252デフォルトの名無しさんNGNG
>>250
あれ?この変数名って何だったっけ?ちょっと上の方に戻って・・・

ぼん!

「不正な構文です」

俺がVBを使うのをやめたエピソードです。
0253249NGNG
251>返答どもです。試してみたのですが、Handles AddButton.Click
の「AddButton」のところに波線が出てコンパイルエラーになってしまいます。
0254デフォルトの名無しさんNGNG
>>252
ワロタ。確かにうざい。
0255デフォルトの名無しさんNGNG
>>253
まず関係ないけど、AddButtonという、予約語やメソッドにありそうな
まぎらわしい名前を使うのをやめれ。使うならAddedButton。

あと、AddButton.Clickじゃない。これだとAddButtonのメソッドになるので、
そんなもん無いのでエラーになる。
AddButton_Clickが正解。(というかハンドラに結び付けられてたらいいので、
このプロシジャ名はどうでもええ)
もう一回>>251を1キャラクタの見落としもないくらい良く見てみれ。
0256デフォルトの名無しさんNGNG
>>255
あ、ハンドラの部分か。そりゃあってますね。
それじゃ255はあぼーんしといてちょ。
0257デフォルトの名無しさんNGNG
それじゃ改めて。
>>253よ、ボタンのインスタンスを生成する前に宣言としてこの一文を入れてるかい?
Friend WithEvents AddButton As System.Windows.Forms.Button
0258デフォルトの名無しさんNGNG
>>253
257の言うとおり。WithEventsが抜けてるびょん。
ついでに、DimじゃなくFriendにしておくのが吉。
ま、Privateでもいいけどね。
0259デフォルトの名無しさんNGNG
ち、せっかく教えてやったのに反応無しかい。
>>253、テメーはもう二度とこのスレに来んなヴォケ。
0260デフォルトの名無しさんNGNG
( ´,_ゝ`)
0261デフォルトの名無しさんNGNG
月曜からVBはじめた素人です。

VB6.0からVB.NETに移行する時のことについて質問させてください。
VB6.0ではTextWidthというFormのメソッドを用いて任意の文字列の幅を
取得したりすることができたと思うのですが
VB.NETにおいてはこのメソッドが無く、アップグレードウイザードを用いても
VB.NET用のコードの修正ができないためコンパイルが失敗してしまいます。

VB.NETでこのTextWidthに当たる物がGraphic.DrawStringの中に
あるらしいということまではわかったのですが、
VB.NETで任意の文字列の幅を取得する場合
これを呼び出して関数を作ったりしないといけないのでしょうか?
もっと簡単に任意の文字列の幅を取得する方法はないのですか?

どなたかわかる方よろしくお願いいたします。
0262253NGNG
>>259
すいません。常時接続環境にいないもので
0263デフォルトの名無しさんNGNG
>>261
素人の言う簡単にってどういう意味なんだろう。

演算子が出た時点でアウトなのかはたまた2階層以内のクラスで出来ないとダメなのか。
0264261NGNG
>>263
つまりTextWidthの変わりをしてくれるような関数やメソッドは
自分で定義して作らなくてはいけないということでしょうか?
今回の目的としては
lvwCH1.Width = Me.TextWidth(lvwLI.Text) * 1.2
と同様の処理をVB.NET用に修正したいというのが意図なんですが・・・

もう一つ質問です。分かる方回答お願いいたします。
Public WithEvents dtpScheduledStartTime1 As AxMSComCtl2.AxDTPicker
Me.dtpScheduledStartTime1 = New AxMSComCtl2.AxDTPicker()
dtpScheduledStartTime1.Value = Now

とあるときコンパイル後に実行しようとすると
'InvalidActiveXStateException' のハンドルされていない例外が axinterop.mscomctl2.dll で発生しました。
とでて強制終了してしまいます。
dtpScheduledStartTime1.Value に値を代入する処理が間違いなんでしょうか?

0265デフォルトの名無しさんNGNG
>>264
どこでエラーになる?
それとも統合環境でなくて、コマンドラインでやってるのかい?
0266デフォルトの名無しさんNGNG
>>261
これじゃだめ?
Dim stringSize As SizeF = Me.CreateGraphics.MeasureString(lvwLI.Text, lvwLI.Font)
lvwCH1.Width = stringSize.Width * 1.2
0267デフォルトの名無しさんNGNG
>>265
止まってしまうのは
dtpScheduledStartTime1.Value = Now
の部分の処理です。
TabIndex等のメソッドは正常に設定できるので
.Valueメソッドの使い方が悪いのかと想定しているのですが・・・

>>266
環境が会社なので月曜日に試してみます。
ソースの情報が少ない中のアドバイスありがとうございます。

・・・他にも問題多くて困ってます・・・
いっそこのスレの方々に変わりにやって貰いたいです(苦笑)
0268デフォルトの名無しさんNGNG
>>267
よく状況がわからんのだけれど、Exceptionが発生するということは、
dtpScheduledStartTime1のインスタンスかNowが自プロセス(がアクセスできる
権限のある)のアドレスとしては未定なのだな。
dtpScheduledStartTime1にMeを付けるか、Nowが定数だったらNowを
フル指定で(System.なんとか.Nowとか)でやってみたらええやろ。多分。
0269デフォルトの名無しさんNGNG
>>268
あ、忘れてたけど、ちゃんとNowが属するメンバ調べてやってね。
0270デフォルトの名無しさんNGNG
>>268
NowはMicrosoft.VisualBasic.DateAndTimeのNowプロパティだろう。
0271デフォルトの名無しさんNGNG
タスクバーに表示したくないんですけど(Me.ShowInTaskbar = False)
でも、Alt+TABででてくるやつにきちんとアプリのアイコンを表示するには
どうする?(デフォルトのアイコンになちゃうよ)教えてくれよ。
0272デフォルトの名無しさんNGNG
なんかごちゃまぜになってないか?
0273261=267NGNG
>>266
lvwLIというのはMSComctlLIB.ListItem型として定義してるようなのですが
その中にFONTというメンバが無いため上記の方法では駄目でした
ちなみにCreateDragImageとか別のメンバでやってみたらコンパイルはとおりました。
とりあえずここの処理の解決は後回しにして確認作業中に問題があったら
また修正に取り組んでみたいと思います。
アドバイスどうもありがとうございました。

>>268
NOWというのは現在時刻を取得するための関数として使われていると思います。
(270のいってることはこのことですかね?)
ちなみに.Valueに適当な定数を入れてみようとしても同じエラーになってしまいます。
同様の処理を発見したのですが、そこは引っかからないのに・・・
根本な原因は別のところなのかなぁ?
ここもコメントアウトすればコンパイルはとおるので解決は後回しにして
先に確認作業はいっていこうと思います。
どうもありがとうございました。
0274デフォルトの名無しさんNGNG
>>273
第二引数に指定するのは、Fontオブジェクトだったら何でもいい。
ListViewで使用してるFontオブジェクトを渡せばいいと思うぞ。

ところで、一概にどちらがいいとは言えないが、
COMの方じゃなく.NETのListViewやDateTimePickerに置き換えてはどうかな。
0275デフォルトの名無しさんNGNG
bitmapオブジェクトに描画する方法はありますか?
0276デフォルトの名無しさんNGNG
.NETって流行ってないんですか?
0277デフォルトの名無しさんNGNG
>>276
俺的には三週間で飽きた。
0278デフォルトの名無しさんNGNG
VBscriptが使いたいのですが
国内でASPの使える無料レンタルサーバー知りませんか?


0279デフォルトの名無しさんNGNG
>>278
ローカルでも動くよ。WSHで検索。
0280デフォルトの名無しさんNGNG
>279
すんまそん 学校の授業で作った カウンターとか 掲示板を 自分のサイトで
動かしたいのです。
0281デフォルトの名無しさんNGNG
なんで自分で検索しないんだ?
0282デフォルトの名無しさんNGNG
検索は授業で習ってないからだろ(w
0283デフォルトの名無しさんNGNG
>>275
Graphics.FromImage
0284デフォルトの名無しさんNGNG
質問させてください。

Public Structure TEST
<VBFixedArray(10)> Dim ulReserved() As Integer ' 予約

'UPGRADE_TODO: この構造体のインスタンスを初期化するには、"Initialize" を呼び出さなければなりません。 詳細については、'ms-help://MS.VSCC/commoner/redir/redirect.htm?keyword="vbup1026"' をクリックしてください。
Public Sub Initialize()
ReDim ulReserved(10)
End Sub
End Structure

と構造体を定義した上でこの構造体を操作するCのAPIを呼んだ時、

追加情報 : 型 TEST のフィールド ulReserved をマーシャリングできません
この型は構造体フィールドとして、マーシャリングできません。

というエラーが出てしまいます。
関数を呼ぶ前にInitializeを呼んだり、ulReservedの値も設定したりしているのですが
うまくいきません。
いまいち原因が分からないのですが、これは構造体の初期化に問題があるのでしょうか?
それともAPIに問題があるのでしょうか?
また解決法もあれば教えていただけると助かります。
よろしくお願いします。
0285デフォルトの名無しさんNGNG
>>283
ありがとーーーーーーーーーーーーーーございました。
できますた!!
なるほど。pictureboxはcreategraphicsするけど、
bitmapはgraphicsのメソッドを使うのかー!
φ(..)メモメモ
0286デフォルトの名無しさんNGNG
>>285
Paintイベントのe.Graphics使う以外の場合は、ちゃんとDisposeしてね。
0287デフォルトの名無しさんNGNG
うひょぅ!忘れてますた!>>286
早速追加!
ありがとうございまする!
0288デフォルトの名無しさんNGNG
うえーん、VB厨ですいませんが、誰かオセーテ下さい...

関数を作るときって外部ファイルに書いてますよね?
(VB6の頃はBASファイルに...)
今、それで問題があるんです...

Form1のリストボックスにDBから読み込んだレコードを
Addしようとしているのですが、
Formファイルの中に
frmMaster_Form.lstProgress_Palette.Items.Add(リードした行)
と書くと、うまくいくのですが、
BASファイルの中に書くと、うまくいきません。
VB6の頃は楽勝だったのに...
一応、
Dim frmMaster_Form As frmMaster_Form = New frmMaster_Form()
みたいに参照はしているのですが...

VB.net、変わりすぎてよく解らん!
0289デフォルトの名無しさんNGNG
>Dim frmMaster_Form As frmMaster_Form = New frmMaster_Form()
このコードはどこに書いているんだ?
このコードを書いているクラス、モジュールでしか、
このfrmMaster_Formを利用できないぞ。
(プロシージャの中に書いてるじゃないよな?プロシージャの中ならこれは単なる
ローカル変数だ)

クラスorモジュールレベルの変数として宣言するなら、
Dimは使うな。Public、Friend、Private、Protected、Protected Friendを区別して使え。
作成したフォームのインスタンスをモジュールに渡していないから、
うまくいっていないと思われ。
0290デフォルトの名無しさんNGNG
>>288
frmMaster_Formをモジュールの変数に渡してやれ。
0291デフォルトの名無しさんNGNG
>>289 様
>Dim frmMaster_Form As frmMaster_Form = New frmMaster_Form()
は、
Module modulesrcUser_Functions
public Function fncInput_File_Read(ByVal strSearch_String as String)
Dim frmMaster_Form As frmMaster_Form = New frmMaster_Form()

に入っていますです。
0292291NGNG
す、すいません...間違えて書き込んじゃいました...

>>289 様
>Dim frmMaster_Form As frmMaster_Form = New frmMaster_Form()
は、
Module modulesrcUser_Functions
public Function fncInput_File_Read(ByVal strSearch_String as String)
Dim frmMaster_Form As frmMaster_Form = New frmMaster_Form()
コレ

に入っていますです。

> 作成したフォームのインスタンスをモジュールに渡していないから
???です...もう、ダメぽ゚....

>>290
> frmMaster_Formをモジュールの変数に渡してやれ
意味不明...すいませんです。
一応、下にコード書いておきました....
0293291NGNG
' Cordial により出力されるテキストのレコード構造体
Structure udtCordial_Tags
Dim udtCordial_Tags_strClean_String As String
Dim udtCordial_Tags_strDic_String As String
Dim udtCordial_Tags_strDiscrimer As String
End Structure

Module srcUser_Functions
Public Function fncFile_Read_Using_Dot_NET_Class_Lib(ByVal strSearch_String As String)
Dim frmMaster_Form As frmMaster_Form = New frmMaster_Form()
Dim strReader As StreamReader
strReader = New StreamReader("D:\TEST2.TXT")
Do
Dim strLine_Buffer As String '宣言と同時に初期化
strLine_Buffer = strReader.ReadLine()
If strLine_Buffer <> Nothing Then
Dim strSearch_String_Buffer As String
Dim intRecord_Count As Integer
strSearch_String_Buffer = InStr(strLine_Buffer, strSearch_String)
'frmMaster_Form.lstProgress_Palette.BeginUpdate()
frmMaster_Form.lstProgress_Palette.Items.Add(strLine_Buffer)
'frmMaster_Form.lstProgress_Palette.EndUpdate()
intRecord_Count = strLine_Buffer.Length
Debug.WriteLine(intRecord_Count)
Else
Exit Do
End If
Loop
strReader.Close()
End Function
End Module
0294デフォルトの名無しさんNGNG
>>293
ひどい命名だな。

293への突っ込みの前に、>>288へ 突っ込み。
>関数を作るときって外部ファイルに書いてますよね?
基本はクラスだ。オブジェクトに付随する振る舞いはそのクラスに記述する。

で>>293のコードだが、
fncFile_Read_Using_Dot_NET_Class_Libの中で利用している
frmMaster_Formのインスタンスはその中独自のものだ。
他で表示しているフォームとは何ら関係ない。

>>289や>>290と同じ意見だよ。

ところで、うまくいかないというのはエラーでもでるのか?
0295294NGNG
>ところで、うまくいかないというのはエラーでもでるのか?
これは無視してくれ。たぶん、エラーはでてないだろうからな。

VB6までにクラスを使ったことないんだろうね。
VB6のForm1の意味を理解した方がいいと思われ。
Cavalier Labの以下のコーナーをざーっと読んでみ。
http://homepage1.nifty.com/CavalierLab/lab/vb/clsmdl/index.html
0296デフォルトの名無しさんNGNG
VB厨オブジェクト指向について行けてません。
VB.NETはVB界のバルサンだ(藁
0297デフォルトの名無しさんNGNG
では、あふれた奴達はどこへ行くかというと
0298デフォルトの名無しさんNGNG
VB6残留。
0299デフォルトの名無しさんNGNG
なんか、オブジェクト指向に付いていけないのを
初めてリアルタイムで見た(w
0300デフォルトの名無しさんNGNG
もう少ししたら、.NETで初めてオブジェクトを覚えた奴らと、以前からやってた奴らの
流儀というか作法の闘いがあちらこちらで始まるんだろうな。
0301デフォルトの名無しさんNGNG
>>299
如実にこういう質問が増えてるよ。
クラスとインスタンスを区別できてない人は多いんだね。
0302デフォルトの名無しさんNGNG
VB厨面白すぎ
0303デフォルトの名無しさんNGNG
クラスがわかってるぐらいでこの書き込みはいたい
0304291NGNG
VB厨ですw
>>295 のサイトを見たら、理解できた (゚∀゚)!!
アリガト...
マジ、恥晒しましたです。ガックシ
0305デフォルトの名無しさんNGNG
>>291
気にすんな!
ガンガレよ!
0306291NGNG
>> 305
アリガトヨ!
VB、難しい...
あきらめモードかも。
OS/400でRPG やってた日々が懐かしい...
0307284NGNG
もう一度質問させてください。

マーシャリングに関することで質問なのですが
実行時に使われる変数でマーシャリングが不可能な型などは
ある物なのでしょうか?
そもそもマーシャリングがいまいち分かっていないのですが・・・
対象となる変数が数値型配列があるときのみ>>284のメッセージで強制終了されてしまうのですが・・・
0308デフォルトの名無しさんNGNG
>>307
>対象となる変数が数値型配列があるときのみ

yうな?
0309デフォルトの名無しさんNGNG
sage
0310デフォルトの名無しさんNGNG
.NET FrameworkでPOPクライアントサービスを提供するオブジェクトって見あたらないのな・・・

SMTPは System.Web.Mail.MailMessageと System.Web.Mail.SmtpMailで
簡単に送れるようになったけど・・・・

ここにあるでよ!って知ってるヤシいない??
0311デフォルトの名無しさんNGNG
>>310
|-`).。oO(.NET Frameworkは提供しないから、誰かが作ったやつを探すしかないね
|-`).。oO(gotodotnetにあったと思うよ・・・
0312310NGNG
>>311
そか・・・やっぱり無いのね・・・
サンクス!見てみるよ。

こうなったらSmtpMailクラスとよく似たクラスを自作するべぇか・・
0313310NGNG
ttp://www.gotdotnet.com/team/vb/

ここで見つけたけど、なんか微妙にクラス名が違う(w
これってベータ版かなんかで作られたやつなんかな?
いま、いそいそと修正中っす
0314310NGNG
今頃気が付いたんだけど、SmtpMailってExchangeが入ってないと動かないんだよね(w
仕方ねぇ〜
似せて両方書くか・・・・・

一体なにやってんだろうね、漏れ(w
0315デフォルトの名無しさんNGNG
>>314
|-`).。oO(あれって、CDOのラッパじゃないの?なら、Exchangeは不要・・・)
0316デフォルトの名無しさんNGNG
クラスは自分でいったん作っとけば、後で簡単に再利用できるから
自分用の奴を作っとけば?
0317310NGNG
>>315
確かにExchange無くても動いたわ(w
まぁ乗りかかった船みたいなもんでとりあえずワンセット自作してみる事にするです。
レスくれた方々サンクス♪
0318デフォルトの名無しさんNGNG
ms-help://MS.VSCC/MS.MSDNVS.1041/cpref/html/frlrfSystemThreadingThreadClassPriorityTopic.htm

スレッドの優先度をリアルタイムにすることは不可能ですか?
0319デフォルトの名無しさんNGNG
>>318
そもそもFrameWorkの優先度がそうできない?
0320デフォルトの名無しさんNGNG
>>319
ぬぬ。無理ですかね?
0321デフォルトの名無しさんNGNG
>>320
そんなに時間にシビアな仕事させるのなら別の言語使った方が・・・。
0322デフォルトの名無しさんNGNG
ちょっとHDBENCHのようなベンチマークプログラムを
作ってみようかなと思ったのです。
HDBENCHではリアルタイムしてるようなので、
できるかなと思ったのですが、ヘルプになぃぃ。(T_T)
0323デフォルトの名無しさんNGNG
>>322
ちなみに、CLRなソフトとネイティブなソフトの差はご存じですか?
0324デフォルトの名無しさんNGNG
>>323
ほとんどわかってません。
.NET Frameworkがいるかいらんかぐらいのもんです。(知識
0325デフォルトの名無しさんNGNG
だめだこりゃ。
そんな程度の知識の人がベンチマーク...
0326デフォルトの名無しさんNGNG
>>325
マシンでは無くって、自分のソフトのベンチを取るから問題ないんだろ。きっと(w
0327デフォルトの名無しさんNGNG
.NETでマシンのベンチマークとっても別に問題ないだろ。
0328デフォルトの名無しさんNGNG
ズガーン。確かに実験+自分のソフト・・。
他のアプリを排除したかった・・・。
0329デフォルトの名無しさんNGNG
下手にリアルタイムにやると強制終了もできなくなって、
マシンの電源ぶちっとやるはめになるかもよ。
#.NETでやったわけでなく、タスクマネージャでいじって遊んでたらやっちまった。
0330デフォルトの名無しさんNGNG
外の比較的マイナーな文学作品を翻訳出版する
小さな出版社がある。そして文学ファンはこういった出版社を
潰さないため、今後も翻訳を続けてもらうために
1人で同じ本を2・3冊買うことが良くある。

我々もこういう時だからこそDelphi7を買って
ボーランドを支えるべきなんじゃないだろうか。
Delphi7の売り上げはDelphi8以降の開発資金となるし、
ボーランドジャパンの今後に大きな影響をもたらすだろう。

Delphi7の出来のみを云々するのは
あまりにも近視眼的ではないだろうか?
0331デフォルトの名無しさんNGNG
http://pc3.2ch.net/test/read.cgi/tech/1032361924/879

スレ違いです
0332デフォルトの名無しさんNGNG
なぜ 330 はこんなスレをつけるのか。

その謎は以下のスレに...
http://pc3.2ch.net/test/read.cgi/tech/1031668744/536-538

ここにかかれている内容を信じるかどうかはあなた次第。
Delphi7 を注文してしまった人は、すぐに答えが出るでしょう。

0333デフォルトの名無しさんNGNG
>>330
その謎を読むつもりで開いたスレッド・・・・

トップでくつろいでたフサギコ見て和むだけ和んで閉じた漏れは逝ってよしでつか?
0334デフォルトの名無しさんNGNG
VB.NETでIEのようなインターネットブラウザを作りたいと考えています。
使用するコントロールは「Explorer」でいいのでしょうか。検索をかけてみ
てもわかりませんでした・・・・・。このコントロールを貼り付けると、Name
に「AxWebBrowser」と出るんですが、Axの意味が分からず迷ってしまっ
ているのです。御指南よろしくお願いします。
0335デフォルトの名無しさんNGNG
ActionXって聞いたこと無い?
0336デフォルトの名無しさんNGNG
>>334
MSに聞けば分るんじゃないの?「おたくのIEはどの言語を使って
作っておられるのですか?あ、後ついでにAxの意味も教えて戴け
ないでしょうか?」
■ このスレッドは過去ログ倉庫に格納されています