VBプログラマ質問スレ(6.0以前) Part50
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/10/22(日) 20:39:53質問者は使用している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/
※「まず自分で調べる」クセを身につけよう。
0412デフォルトの名無しさん
2006/11/26(日) 14:40:06少なすぎますです
0413デフォルトの名無しさん
2006/11/26(日) 14:46:19ふぅ・・・。で、お前は何がしたいの?
バカなら、もう来るなよ。みんなが真剣に考えたりするじゃないか。
真剣なら、自分で型をつくればいいだけの話だろ。
0414デフォルトの名無しさん
2006/11/26(日) 18:55:13>>399もお願いします。
0415デフォルトの名無しさん
2006/11/26(日) 21:01:36XPathのことはXMLのスレ(WebProg板にある)にいったほうがわかる人間がいると思う。
0416デフォルトの名無しさん
2006/11/26(日) 22:34:51参照が変わった場合、前の値はメモリから消えるのでしょうか?
Public str as String
のstrに
str = "A"
str = "B"
とした場合の"A"です。
何かのタイミングで一斉に消えたりするのでしょうか?
0417デフォルトの名無しさん
2006/11/26(日) 23:13:440418デフォルトの名無しさん
2006/11/26(日) 23:17:010419デフォルトの名無しさん
2006/11/26(日) 23:25:31何故そんな事を知る必要があるの?
0420デフォルトの名無しさん
2006/11/26(日) 23:28:55一.答えられない質問は無駄に罵倒せずスルー。無理するな。
三.回答する上で必須ではない情報をむやみに聞き返さない。
0421デフォルトの名無しさん
2006/11/26(日) 23:36:22俺はそんな糞みたいなルールには死んでも従わないね。
0422デフォルトの名無しさん
2006/11/26(日) 23:40:23四.荒らしは相手しない。
○ 回答者の心得
四.荒らしは相手しない。
0423339
2006/11/26(日) 23:54:28>>415
XMLスレも考えたのですが、COM版のMSXML2.DOMDocumentに限定した話をしたかったので
まずはこちらにきました。Web上で紹介されている関数が使えなかったりと、COM版の仕様が他とは違うようなので。
もうしばらくこちらで粘って、知ってる方が居ないようなら向こうに移動してみます。
ということで引き続きよろしくお願いします。
0424デフォルトの名無しさん
2006/11/26(日) 23:58:47○馬鹿の一つ覚えのようにテンプレをコピペしない
っていう項目が必要になりそうだな。
そうすれば>>422のようなスレになんの貢献もしない馬鹿を雪隠詰めにできるよw
0425デフォルトの名無しさん
2006/11/27(月) 00:01:210426デフォルトの名無しさん
2006/11/27(月) 01:58:39俺は"B"を代入した瞬間"A"は消えるもんだと思っている。
なぜなら、VC++で同じことをBSTRに対して行おうとするとそういう風になるから→きっとVBもそうだろうという短絡的発想。
0427デフォルトの名無しさん
2006/11/27(月) 02:03:330428デフォルトの名無しさん
2006/11/27(月) 02:06:51( <●> <●> )つ わかってます
わかってないことを証明する悪魔の証明はできないのはわかってます
0429デフォルトの名無しさん
2006/11/27(月) 02:12:52あなたはわかっていません
freeした直後にAはメモリ上に存在します
また直後ではAの上にBを置かれることはありません
OSの中まで追ってからにしなさい
0430デフォルトの名無しさん
2006/11/27(月) 02:14:14> OSの中まで追ってからにしなさい
> OSの中まで追ってからにしなさい
> OSの中まで追ってからにしなさい
( <●> <●> )
0431デフォルトの名無しさん
2006/11/27(月) 02:16:060432デフォルトの名無しさん
2006/11/27(月) 02:20:48むしろこっちだろ
> Aはメモリ上に存在します
> Aはメモリ上に存在します
> Aはメモリ上に存在します
0433デフォルトの名無しさん
2006/11/27(月) 02:46:10循環参照があった場合は開放されない。同じ参照カウンタ式のCOMと相性がいい。
0434デフォルトの名無しさん
2006/11/27(月) 02:49:55> 循環参照があった場合は開放されない。
('A`) ”されない”?
0435デフォルトの名無しさん
2006/11/27(月) 02:51:44>416 はVB6の話だろ?
Stringはオブジェクト型じゃないから代入は値のコピーが作られるだけだぞ
0436デフォルトの名無しさん
2006/11/27(月) 03:07:40そうだった。Stringは別だな。
433はClassの話だと思ってくれ。
0437デフォルトの名無しさん
2006/11/27(月) 08:46:34メモリ上"XYZDE"になって、"DE"はあるタイミングまで残る、って話ではないの?
"XYZ"の代わりに"1234567890"が入ったらメモリ上は"12345"になって、
新たなメモリ空間に続きの"67890"が入るように思うんだけど。
GCで前者の"DE"みたいなのが詰められ、後者みたいなのが
"1234567890"と連結されんでしょ?
0438デフォルトの名無しさん
2006/11/27(月) 09:10:42壮大な勘違いだな。
0439デフォルトの名無しさん
2006/11/27(月) 13:01:280440デフォルトの名無しさん
2006/11/27(月) 15:36:44メモリについて「無意味&無駄」としか考えられないようだから
ブービー厨とバカにされるんだよ
0441デフォルトの名無しさん
2006/11/27(月) 17:11:25VBが中で何やってたって、それを変更する事は出来ない。
つまり、お前が莫迦で阿呆という事だな。
0442デフォルトの名無しさん
2006/11/27(月) 17:55:06初期状態では、TextBox1, 3とCommand1だけ、Enabled=Trueです。
TextBox1の入力内容を検査して、OKならTextBox2のEnabledをTrueにした
上で、そこにFocusを移動させたいのですが、どうすればよいでしょうか?
TextBox1のValidateに
TextBox2.Enabled=True
TextBox2.SetFocus
と書いてもTextBox2にFocusが遷移しません。
0443デフォルトの名無しさん
2006/11/27(月) 18:34:47どうすればもこうすればも、そんな糞仕様のUIはナンセンスでしょ。ダメダメでしょ。
MSDN読んだ?
Validateっていつ発生するのよ。
矛盾することしようとしてるんだからうまくいくはずがない。
だいいち少しはユーザビリティってものを考えてくれよ。
0444デフォルトの名無しさん
2006/11/27(月) 18:36:58へっへっへ…
Enable=TrueにしたあとDoEvents書いちゃいなよ。
いいぜぇ、DoEventsは。
0445デフォルトの名無しさん
2006/11/27(月) 19:35:27しかし、諸刃の剣でもあるな。
0446デフォルトの名無しさん
2006/11/27(月) 21:01:160447デフォルトの名無しさん
2006/11/28(火) 08:48:40何ツンデレ?普通に当然のことじゃん。
0448デフォルトの名無しさん
2006/11/28(火) 09:01:23Dim hoge As Integer = 0
0449デフォルトの名無しさん
2006/11/28(火) 09:45:21vb.netさんでは宣言時に規定の初期値に初期化されます
やりたきゃやってみろ
0450デフォルトの名無しさん
2006/11/28(火) 09:49:47キミ、学校でも頭悪いとか、「○○って話が通じネーよな」とか良く
言われるでしょ?言われるでしょ?
0451デフォルトの名無しさん
2006/11/28(火) 09:51:04値型と参照型では違う。
参照型は初期化しないと、ぬるぽりますよ
0452デフォルトの名無しさん
2006/11/28(火) 13:56:35お前自身の事か?
0453デフォルトの名無しさん
2006/11/28(火) 18:57:12VB6.0でも、ユーザーコントロールを使えばクラスの継承が実現しない?!
空っぽのユーザーコントロールにメソッド書いて、継承時はそれを同じように
空っぽのユーザーコントロールに貼り付け。
画面やクラスでそのユーザーコントロールを動的に生成して、メソッドだけを呼べば
クラスの継承が実現してない??
0454デフォルトの名無しさん
2006/11/28(火) 19:22:46すくなくともそれじゃあね。
VBには目に見えないFormクラスがあって、全てのフォームはそれを継承していると
みなせる、って話ならわかるけど。
まあ当たり前だけどVB6でも継承そのものは可能なんだよね。
ただ言語レベルでサポートしてないだけで。
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdnprogvbnet/htm/chapter5.asp
0455デフォルトの名無しさん
2006/11/28(火) 20:23:28フォームの継承は、理屈はそうだけど、自分のメソッドも何もできない
からね〜
委任による継承かぁ〜・・・
実際は継承しているわけではなくて、継承チックに見えるように
ベースのクラスを呼んでいるんだよね
でも�d�d。
Implementsによるインターフェースの実装は知っていたけど、継承できない時点で
あんまり役にたたないよね。強いて使うなら、雛形として、このメソッドを使いなさい、かな〜
0456デフォルトの名無しさん
2006/11/28(火) 21:08:430457デフォルトの名無しさん
2006/11/28(火) 21:47:360458デフォルトの名無しさん
2006/11/28(火) 21:54:10んなこと聞いてないし(^ω^)
0459デフォルトの名無しさん
2006/11/28(火) 21:57:21そう、つっかかるな。
オレもVBが好きだ。
ただ、お前ほどのヤシなら、たとえばフォームで継承が
できたら、便利だって事がわかるだろ?
ただ、それだけの事だよ。
継承できなくても、VBは本当にRAD開発では最高の
言語だよ。
0460デフォルトの名無しさん
2006/11/29(水) 12:50:23( ^ω^) ・・・。
0461デフォルトの名無しさん
2006/11/29(水) 13:06:550462デフォルトの名無しさん
2006/11/30(木) 00:14:36> 言語だよ。
そんな餌にクマー(AA略
0463デフォルトの名無しさん
2006/11/30(木) 17:49:08メソッドはありますか??
0464436
2006/11/30(木) 19:52:09Shared、Staticのようなものはありますか?
0465デフォルトの名無しさん
2006/11/30(木) 20:18:34さようなら
0466デフォルトの名無しさん
2006/12/01(金) 06:49:29個々に関数を呼び出せるDLLを作成するには、
どうすればいいのでしょうか?
0468466
2006/12/01(金) 08:01:130469デフォルトの名無しさん
2006/12/01(金) 08:20:280470466
2006/12/01(金) 08:27:200471酔いちくれ ◆J0rwikii8c
2006/12/01(金) 09:01:54だめなのかという疑問。
0472466
2006/12/01(金) 09:13:19クラスを使えない言語からも参照できないといけないのです。
なので、Declare Functionで呼び出せればと思ってました。
0473酔いちくれ ◆J0rwikii8c
2006/12/01(金) 09:28:05いいからかもね〜。
だって、圧倒的に遠回りで遅いから。まあ、仕方ない。
0474466
2006/12/01(金) 09:38:01とりあえずVbでクラスを作って、
それを呼ぶためのDLLをVCかDelphiで作ります。
かなり面倒ですけど、VB側の処理は変更できないので、
この方法でやってみます(`・ω・´)
0475デフォルトの名無しさん
2006/12/01(金) 10:40:21サブクラス化してWndProcでWM_POWERBROADCASTを拾うことはできました
CならこのあとReturnでBROADCAST_QUERY_DENYを返せば良いだけですが
VB6ってどのようにしたら良いのでしょうか
.Netでの方法ならたくさん見つかったのですが・・・
0476デフォルトの名無しさん
2006/12/01(金) 11:02:25>>442
>TextBox2にFocusが遷移しません
わかった、これってGUIの組み方でいつも問題になるところだよね
これって言語によらない共通の問題かなと(>>443さんの指摘は意味はあるかと)
結局、キー入力による「Enter」だけでなく、
マウスでほかのコントロールに移ろうとしてときにも
強制的にTextBox2にfocusしたいってことだよね
確かにVaridateイベントにそれを書いて>>444の対策してもうまくいかないんだよね
そうなると、ちょっと無理気味だが、今TextBox1で編集した直後だよってフラグを
モジュールレベル変数で立てておいて、別の任意のコントロールをクリックしてしまって
そこにFocusが移っても、そこから対策するしかないんではないかと思う
あるいは、次の入力部を強制するためには、次のコントロール以外は
Focus可能なものは表示しておかないようにしておくとかしないといけないわけで
それであれば、結局昔のDOS時代のキーボードオンリーの入力使用に近い
形にするしかないかと
以前にやったことのある対策は、そのGotFocusイベント・プロシージャでそれを参照して
フラグの値に応じて強制的にFocusを飛ばすプロシージャをコールするようなもので
一応はうまく動きはしまたが、注意点はあとでバージョンアップとかしてコントロール
が増えたときにそこも修正追加が必要なことかな
0477475
2006/12/01(金) 11:14:50Elseで条件以外はWndProc = CallWindowProcして
でEnd Functionしたらいけたっぽいんですが
これでいいのでしょうか?w
0478デフォルトの名無しさん
2006/12/01(金) 11:16:42SysInfoコントロールのPowerQuerySuspendじゃ駄目か?
0479酔いちくれ ◆J0rwikii8c
2006/12/01(金) 11:18:15Cでつくった自作の関数呼べばよくね?
>>476
べたなフォーカス遷移として、コントロールのEnabledを
一時的にFalseにして、勝手に次のtabIndexにフォーカス
を移したりする。
コントロールを送って、移したいオブジェクトまでフォーカスを移す。
関数名はせっとふぉーかすでらっくすでおk
0480デフォルトの名無しさん
2006/12/01(金) 11:49:01>コントロールのEnabledを一時的にFalseにして
>勝手に次のtabIndexにフォーカスを移したりする
Enterキーだけで送るときとかにはそういう機能もあったんですね
やってみました
この>>442でのやっかいな問題は、フォーム上の他のコントロールがEnabled=True
状態で存在しているときに、そこにマウスでヒットされると、Validateイベントでは
対応できないということかと思いまして(実際にやってみましたがうまくいきません)
それで>>476かと考えました次第でした
0481デフォルトの名無しさん
2006/12/01(金) 12:49:03拾えたのなら、Cと同じ事するだけでしょ。
つーか、どうやって拾ったんだ?
0482デフォルトの名無しさん
2006/12/01(金) 14:50:29Sendkey でTABキー送りなよォ
ぐひひ
0483デフォルトの名無しさん
2006/12/01(金) 15:38:33vb6のリンカかコンパイルオプションで出力できる
0484デフォルトの名無しさん
2006/12/01(金) 15:39:34モジュールに書くしかないんでね?
さも無きゃ一つのインスタンスを特別扱いするとか
0485デフォルトの名無しさん
2006/12/01(金) 15:40:24vb6は内部でcomのdispatchインタフェイス使ってるので、
明示的に相手の参照はもってません
諦めろ。
0487デフォルトの名無しさん
2006/12/02(土) 00:17:54チャートの折れ線グラフにマウスを当てると
その箇所の値(X軸、Y軸)がテキストボックスに
セットされる。
雰囲気的には株のリアルタイムチャートっぽいものを
実現したいのですが、これが可能なActiveX等を
ご存じでしたら教えてください。
チャート上のマウスのMOVEイベントでその位置の
値が拾えれば良いのですが、Microsoft Chartとかは
不可能でした。
0488デフォルトの名無しさん
2006/12/02(土) 00:29:41Formなりグラフィックメソッドとマウスイベントがあるコントロールなら
普通に何でもいいのではないかと
0489デフォルトの名無しさん
2006/12/02(土) 17:07:17グレープシティの製品にそんなのなかったっけ?
0490デフォルトの名無しさん
2006/12/03(日) 00:16:14コマンドボタンを押すと、テキストエリアに文字が表示されるというシンプルなソースなんですが、
ローカルでHTMLを表示すると問題なく作動するのですが、サーバにUPするとコマンドボタンを
押しても何もおきません。
XPpro+VB6.0で作成してます。
理由がお分かりの方、教えて下さいm(__)m
0491デフォルトの名無しさん
2006/12/03(日) 00:45:06んんんんん、ぬおおおぉぉ〜〜〜ッッッ!!!!
超能力を駆使してみたんだが分からんかった。
スマンのぅ。
0492デフォルトの名無しさん
2006/12/03(日) 02:06:30Java実行中、VB処理はそこで一時停止したいと考えています。
しかし、shell関数は非同期であるため、VB処理の一時停止が出来ませんよね?
こういった場合、どのように対処すればよいのでしょうか?
0493デフォルトの名無しさん
2006/12/03(日) 02:08:40全然分からないので一般的なことしかいえないけど、
セキュリティとかそういうのはちゃんと設定してあるの?
何か参考資料を一つ手元においてやってみた?
0494デフォルトの名無しさん
2006/12/03(日) 02:14:13VBとWin32APIで行くなら
つ http://homepage1.nifty.com/MADIA/vb/API/VBDOUKI2.htm
ScriptingHost使っていいなら
つ http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/refer/lesson9.htm
など
0495酔いちくれ ◆J0rwikii8c
2006/12/03(日) 09:43:05今日は朝から酔うちもうた
ぶーびーすくりぷとと、HTMLを使ってるということでAF?いや、FA?
よくわからんけど、HTMLに
<noscript><p>だめだこりゃ</p></noscript>
と書いて、表示されるようなら、だめなんだろうね
つーか、そーすをかいてみそ。酒のつまみをまってるぞ
0496490
2006/12/03(日) 09:52:21おはようございます。
ソースは下記のとおりです(VBによるDHTMLを試したかっただけなので)。
Private Function SubmitButton1_onclick() As Boolean
TextArea1.Value = "お前は既に" + _
Chr$(10) + Chr$(13) + "死んでいる"
End Function
よろしくお願いしますm(__)m
0497デフォルトの名無しさん
2006/12/03(日) 11:48:03<HTML>
<HEAD>
<TITLE>TEST</TITLE>
<SCRIPT LANGUAGE="VBScript">
Function Submit_onclick()
TEXTAREA1.Value = "お前は既に" + vbCrLf + "死んでいる"
End Function
</SCRIPT>
</HEAD>
<BODY>
<P>
<TEXTAREA id=TEXTAREA1 name=TEXTAREA1></TEXTAREA>
<INPUT id=submit1 type=submit value=Submit name=submit1 onClick="Submit_onclick()">
</P>
</BODY>
</HTML>
ここまでを test.htm で保存、サーバーにあげてIEで開くと動くぞ。
もしかしたらお前さんの思ってるDHTMLと違ってるかもしれないが一般的にはこれのこと。
0498酔いちくれ ◆J0rwikii8c
2006/12/03(日) 11:49:18う〜・・いい気分だ。
ビールが無くなったから、嫁に買いにいかせなくちゃ・・・
ぶーびーのアプリケーションはVBが実行できる環境じゃないと
だめなんだな
ちょっとオレも勘違いしてたよ。ダイナミックHTMLと思ってた。
ソースを見る限り、VBのデザイナでDHTMLを書いたんだよね
サーバーにぶーびーのランタイムがインストールされていないと
だめなんだよ
0499490
2006/12/03(日) 12:22:50鯖にVBのランタイムが入ってないと駄目なんですか○| ̄|_
勉強になりました。
ありがとうございましたm(__)m
0500デフォルトの名無しさん
2006/12/03(日) 12:53:03>>490 が結局何をしたかったかよくわからねぇ。
0501デフォルトの名無しさん
2006/12/03(日) 13:36:10>>494
即レスありがとうございました。
win32APIで行こうと思います。
0502酔いちくれ ◆J0rwikii8c
2006/12/03(日) 13:46:19おれも、最初は普通のHTMLにスクリプトを組み込んでいると
思ったんだよ。
で、スクリプトを外出しにでもして、パスが違うんじゃマイカと。
でも、>>496を見せてくれた瞬間ひらめいたね
VBのスタート→新しいプロジェクト→DHTMLアプリケーション
もう、すっかり酔いがさめた。ビールでも買いに行こう・・・。
0503デフォルトの名無しさん
2006/12/03(日) 14:02:180504デフォルトの名無しさん
2006/12/03(日) 20:45:47でどのくらいメモリ使用すます?
0505デフォルトの名無しさん
2006/12/03(日) 20:52:250506デフォルトの名無しさん
2006/12/03(日) 20:55:480507デフォルトの名無しさん
2006/12/03(日) 21:03:06でいいですか?
0508デフォルトの名無しさん
2006/12/03(日) 21:04:46>VBのスタート→新しいプロジェクト→DHTMLアプリケーション
あった、あった思い出した。これはサーバーにはIISやVBはいらないが、
ディストリビューションウイザードでCABファイルを作る必要がある。
クライアントがIE必須でVB製のActiveXをインストールしてしまう優れもの。署名なしでは使用できない。
JavaScriptやVBScriptのかわりにObjectタグのActiveXを使わせる仕掛け。
今のIEだと署名があっても警告でまくりでとても使えたものじゃない。
当時は警告無視すりゃ動いた気もするが、とても使えねぇと思って以降忘却のかなただった。
0509デフォルトの名無しさん
2006/12/03(日) 21:35:42MSDNをVisualBasic6に関して、”データ型の概要”で調べれ
0510デフォルトの名無しさん
2006/12/03(日) 21:43:18iに1秒足すには記述はどうすれば良いでしょうか?
0511デフォルトの名無しさん
2006/12/03(日) 21:44:26■ このスレッドは過去ログ倉庫に格納されています