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


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

VB.NET質問スレ(Part30)



1 名前:デフォルトの名無しさん mailto:sage [2009/05/17(日) 10:00:19 ]
前スレ

VB.NET質問スレ(Part29)
pc12.2ch.net/test/read.cgi/tech/1235206416/l50

テンプレは>>2

577 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 21:50:59 ]
何が苦労なんだか。P/Invoke すればいいだけだろ。

pinvoke.net/default.aspx/dnsapi/DnsQuery.html

とかあるし。

578 名前:550 mailto:sage [2009/07/21(火) 03:38:40 ]
アプリ使用中のユーザーにフラグを設けるという案は駄目でした。
アプリが例外エラーで落ちたときにフラグをオフに出来ないからです。
なにかいい方法がありましたら教えてください。

579 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 06:10:28 ]
アプリが例外エラーで落ちたときにフラグをオフにするようにしとけばいいのでは?

580 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 08:05:36 ]
フラグじゃなくロックファイルを作成すればいいんじゃね?
起動したらロックファイルを作り、終了したら削除。


581 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 10:30:34 ]
>>540
ないんです…。
あるプロジェクトのフォームプロパティにはあるんですが、別のプロジェクトのプロパティには無いんです。

582 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:59:36 ]
>>580
何も解決してないからw

>>578
起動時にミューテックス作成&取得。
失敗したら誰かが使用中だと解るし、プロセスが終了したら勝手に解放される。

583 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 17:44:47 ]
ミューテックスってネットワーク越しでもおkなの?

584 名前:541 mailto:sage [2009/07/21(火) 19:59:35 ]
>>577
このサイトいいですね
構造体やら列挙やらをVB.NET用に書き換えるのに苦労するかと思ったんだ
まあ慣れた人なら機械的に変換していけるんだろうけどね

585 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 22:05:35 ]
>>583
だめ。

バカだなぁ、おまえら。そういうときのために DB サーバーがあるんだろ?
・・・あれ?



586 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 22:09:21 ]
だから共有フォルダにロックファイル作ればいいんだお

587 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 23:45:08 ]
ミューテックスってデバッグ時に■で終了しても解放されるの?

588 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 00:05:16 ]
ファイル開いてるときに強制終了したってファイルは閉じといてくれるだろ?
そういうことだよ

589 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 00:52:07 ]
普通に排他で開いたらいいだけじゃないの?
TableAdapterとかDataSetだからダメって何言ってるの?

ところで、なんでADODBなんだよ。
TableAdapterの中見てみろ。


590 名前:587 mailto:sage [2009/07/22(水) 01:48:22 ]
>>588
thx

591 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 18:41:40 ]
ActiveReport 3.0で質問があります。

ページフッタのFormatイベント内で
最大ページ数を取得するにはどのようにしたらよいのでしょうか?

592 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 21:02:43 ]
サードパーティ製品はスレ違い
サポートに電話して聞け

593 名前:550 mailto:sage [2009/07/23(木) 02:56:47 ]
>>589
排他で開いても、Datasetに取得した時点でDBの接続は切れるんで
そのあと、他からもアクセス出来てしまいます。

とりあえず、皆様にはいろいろアドバイス頂きましたが、
時間も無い為、DB上のレコードにフラグを立てて使用中かどうか判断
することにしました。
強制終了して、フラグが立ったままになったらアプリを起動出来ない
ちょっと痛いシステムとなってしまいましたが、バレなきゃOKです。
まだ直す時間はあるので、もしアドバイスがあったらお願いします。

594 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 08:16:35 ]
それだと結局1レコードは読まないといけない訳だ
やっぱロックファイルのがいいんでね?
で突然死対策に1秒ごとに空更新でもして
他のプログラムはファイルがあったとしても、更新時間見て
10秒以上たってたら死亡判定とか

595 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 08:19:56 ]
監視用プログラムを別に作って常駐させとけばいんでない?



596 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 08:44:51 ]
そんな面倒くさいことするか!?
このメモリ浪費家がッ


597 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 08:49:49 ]
起動時にロックファイルをライトオープンで開いて
終了時にクローズするようにすれば
突然死してもファイルはクローズされるんじゃない?
多重起動の判定はロックファイルをライトオープンできるかどうかで。

598 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 09:06:09 ]
できた
Public Class Form1

  Private sw As System.IO.StreamWriter

  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    Try
      sw = New System.IO.StreamWriter("\\共有PC\共有フォルダ\lockfile.txt", False, System.Text.Encoding.GetEncoding(932))
    Catch ex As Exception
      MsgBox("他の人が使ってますお")
      Application.Exit()
    End Try

  End Sub

  Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
    Try
      sw.Close()
    Catch ex As Exception
    End Try
  End Sub

End Class


599 名前:デフォルトの名無しさん [2009/07/24(金) 10:52:42 ]
デザインモードで表示するとエラーになって赤い帯が上に出て
エラー情報としていろいろ内部コードが表示されるやつですが、
あの情報には「〜.Designer.vb」のどこの行がNGなのかが
不明なので、どこを直せばいいのかわからない場合が多い。

こういうとき、再コンパイルしてるときもあるが、ダメなときは
開発環境自体を立ち上げ直して直るときもある。

しかしそれでもダメな場合も多い。こういうときは皆さんどんな風に
して原因突き止めていますか、よろしければご指南を頂きたく。
よろしくお願いします。

600 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 14:29:29 ]
.Designer.vbを直接修正するしかない

601 名前:599 [2009/07/24(金) 14:59:40 ]
>>600
ですよね、で、その場合、そのどこがNGなのかの情報が、あのたくさん
出てくる内部コードの情報には出てない場合がほとんどなのでした。

どこがNGなのかがわかれば対応できるのですが、皆目情報がなくて困って
いるのでした。

602 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 16:03:21 ]
エラー一覧のエラーとか警告に出るけどなぁ

603 名前:599 [2009/07/24(金) 17:06:40 ]
>>602
>エラー一覧

今使っているのはVS2005なのですが、デザイナー画面が出るところに

------
パスの形式が無効です。
非表示

場所 System.IO.Path.NormalizePathFast(String path, Boolean fullCheck)
場所 System.IO.Path.NormalizePath(String path, Boolean fullCheck)
場所 System.IO.Path.GetFullPathInternal(String path)
場所 System.Reflection.AssemblyName.GetAssemblyName(String assemblyFile)
場所 Microsoft.VisualStudio.Design.VSTypeResolutionService.AddProjectDependencies(Project project)
場所 Microsoft.VisualStudio.Design.VSTypeResolutionService.AssemblyEntry.get_Assembly()
場所 Microsoft.VisualStudio.Design.VSTypeResolutionService.AssemblyEntry.Search(String fullName, String typeName, Boolean ignoreTypeCase, Assembly& assembly, String description)
・・・
-------

こういった内部コードが現れては来るのですが何行目が悪いという情報がなく、
「エラー一覧」の中には特に表示されないのでした。どこがNGなのかわかれば
ありがたいのですが、それが出て来ないのでした・・・


604 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 18:53:06 ]
もっと下の方見たらどこかに自分のクラス名があるだろ
その一つ上の行のメソッド名をDesigner.vb内で検索

605 名前:599 [2009/07/24(金) 19:23:30 ]
>>604
どうもです!探してやってみます!・・・と思って、今もう一度デザイナー
を起動したら・・・、ありゃ?何にも他のことしてないのにナンデだろ??
直ってちゃんと出てる。。。なんだろぉ〜。

この次またNGになったらその仕方で見てみます。助かりました、大変
ご迷惑、おかけしてすみませんでした。。。

あれーそれにしても・・・。



606 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 10:57:36 ]
VB.NET2003で
Dim app As New Excel.Application
Dim books As Excel.Workbooks
Dim book As Excel.Workbook
Dim sheets As Excel.Sheets
Dim sheet As Excel.Worksheet
のように定義すると、端末によってNew Excel.ApplicationやExcel.Workbooksが定義されていませんというようなエラーがでます。
Imports System.Runtime.InteropServices
Imports Microsoft.Office.Core
は記述してあり、Microsoft Excel 11.0 Object Libraryは追加してあります。

どの端末もVB2003はインストール済みで上記の設定はしてあるのですが、端末によってこのエラーが出るときと出ないときがあります。
このエラーがでないようにするにはどうすればいいのでしょうか?

607 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 11:08:32 ]
Office がインストールされてないんじゃね?

608 名前:606 mailto:sage [2009/07/25(土) 12:26:01 ]
>>607
ありがとうございます。
Officeはインストールされています。

上記のような現象が起きている方はいませんか?

609 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 12:40:21 ]
あとは、PIA がインストールされてないとか?

610 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 13:59:09 ]
OfficeのPIAは、.NET1.1以降が予めインストール済みの環境で
Officeのインストールを実行しないと入らないからなあ。

611 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 14:18:40 ]
>>606
Microsoft Excel 11.0 Object Libraryへの参照をプロジェクトに追加したときに
VSが自動的に生成するCOMラッパークラスの入ったdll(生成されるファイルのファイル名は忘れた)
が実行環境にインストールされてないんでしょ。

プロジェクトエクスプローラを「全てのファイルを表示」にしてる?
っていうか、こんな初歩的なことも知らないとしたら相当ヤバいな。

612 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 14:30:29 ]
>>611
Interop.Excel.dll
Interop.Office.dll
あたり?

613 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 18:25:49 ]
>>589
だからコネクションは自分で明示的に開けばいいの。
なんのためにConnectionプロパティが生成されると思ってんだ。
TableAdapterだからって接続したままに出来ない理由はない。


614 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 18:27:05 ]
>>589じゃなくて>>593だった。
自分に突っ込んでどうする…

615 名前:606 mailto:sage [2009/07/25(土) 19:13:53 ]
>>609-612
ありがとうございます。
Interop.Excel.dll
Interop.Microsoft.Office.Core.dll
は存在して、参照設定から見えていたと思います。

>OfficeのPIA
他の人もアセンブリの問題で色々苦労していたようなので、これが原因なのかもしれません。

Dim app As Object
Dim book As Object
Dim sheet As Object
app = CreateObject("Excel.Application")
こんな感じだと正常に動作するようなんですが…



616 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 19:35:52 ]
>>615
ところでそれってソース開いたときにエラーとかじゃ無くって
実行するときにエラーってことだよね?
念のため

617 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 20:08:07 ]
>>615
人の話ちゃんと聞こうよ。
参照設定は大丈夫か?なんていってないでしょ。

実行環境の話をしてるんだよ。
その2つがユーザーのマシンにもちゃんと入ってるの?
いやまず間違いなく入ってないんだってば・・・

618 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 21:06:43 ]
開発環境 VS 2008

アプリケーション固有のメッセージを外部ファイルとして保存して、
プログラム側で起動時に読み込むようなものを作成しています。

上記のプログラムを作成するための定石、または、.NET Framework標準の
クラスなどが存在していますか?
ご存知の方がいれば、教えてください。

現在は外部ファイルをXMLにして、
DataTableのReadXMLで読み込む手法をとっています。

619 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 21:08:51 ]
ResourceManager とかだな。

プロジェクトのプロパティから追加すれば、簡単に扱えるよ。

620 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 21:11:39 ]
その固有のメッセージってのはアプリのインストール後にテキストエディタとかで修正したりするモンなの?

621 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 21:15:49 ]
VB2008EEでExcelにデータを書き出すソフトを作っています。
使う人によってExcelのバージョンがまちまちなのでCOMは使わず以下のような感じです。

Dim xlApp As Object
Dim xlBook As Object
Dim xlSheet As Object

xlApp = CreateObject("Excel.Application")
xlBook = xlApp.Workbooks.open(パス)
xlSheet = xlBook.Worksheets(1)

xlSheet.Cells(1, 1).Value = "あああ"    '※1
xlSheet.Cells(1, 2).Value = "いいい"    '※2

xlApp.DisplayAlerts = False
xlBook.Save()

xlBook.Close()
xlApp.Quit()
xlSheet = Nothing
xlBook = Nothing
xlApp = Nothing
GC.Collect()

データを入力する部分で、※1だけなら問題ないですが※2を追加するとプロセスが残ってしまいます。
何が原因なのでしょうか。
開発環境のExcelは2000です。

622 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 21:24:44 ]
思いっきりCOM使ってるよそれ
vb.net excel プロセス でググるといろいろ出てくる
ちゃんと作るのは非常に面倒だからそこだけWSHのVBSなんかで書いてもいいよ

623 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 21:42:22 ]
>>619
情報ありがとうございます。
試してみます。

>>620
テキストファイルで修正できることを前提にしています。
開発終了後にそんな日が来るとは思いませんが、
どっかのエロいアーキテクトが書いたらしい規約に従う必要があるので……

624 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 21:45:48 ]
>>622
レスありがとうございます。
COM参照を先にするかあとにするかだけで処理は一緒って認識で合ってますか?オブジェクト使う度に解放が必要と。
WSHは使ったこと無いので調べてみます。

625 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 21:49:39 ]
いやGCに頼るのは不確実だからMarshal.ReleaseComObjectを使って
必ず逐一全て手動で解放する必要がある



626 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 23:07:25 ]
>>616
ソリューションファイルを開いたときに、New Excel.ApplicationやExcel.Workbooksの所に波線が引かれ、コンパイルができないのです。

>>617
dllが存在しないと、参照設定のExcelとかInterop.Microsoft.Office.Coreのところに三角のマークが出るような気がしました。
確かに全てのファイルを表示にはしていなかった可能性があるので、obj配下にdllが存在しなかったのかもしれません。

627 名前:606,626 mailto:sage [2009/07/25(土) 23:12:27 ]
参照設定のExcel等の所に三角マークが出ていなかったので、Interop.Excel.dll等は存在するものと思ったのです。

628 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 23:17:26 ]
>>625
できました。ありがとうございました。
ちなみに>>621はMSのサンプルを真似たものなんですが、結局全然違うコードになりました。
あのサンプルは一体何だったんでしょうか…。

629 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 23:22:08 ]
>>626
それ一番最初に書くところ
みんな実行時だと思ってたんだから

でね、それは単に参照が無いだけだから

630 名前:606 mailto:sage [2009/07/25(土) 23:26:56 ]
>>629
ありがとうございます。

プロジェクトのディレクトリごとコピーしているので、obj配下にdllはあるのではないかと思います。
参照設定でも三角マークは出ていませんし。
全く同じコードをプロジェクトごとコピーしたのに、端末によってコンパイルができない理由がわからないのです。

631 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 00:00:18 ]
>>630
あーもう
じゃ「参照が有効になってない」って言えばいい?
一度参照削除してもう一度登録しなおしてみ?

632 名前:606 mailto:sage [2009/07/26(日) 00:15:33 ]
>>631
どうもです。

一度参照設定のExcel等を削除して登録し直したのですが、それでも駄目でした。
どうも端末依存でアセンブリの問題があるらしいので、それが原因のような気もしているのです。

他の人も逆に私がコンパイルできない端末でないとコンパイルできないようなことを言っていたし、
端末固有の設定がおかしいのかもしれません。

633 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 00:25:12 ]
2003時代にエクセルを参照したプロジェクトを複数の開発環境に持ってくことを
何度かやったことがあるけどそんな問題は起こった記憶がないな。

まさかとは思うけど、

(1) 環境ごとにエクセルのバージョンが違う
(2) エクセルそのものがインストールされてない

なんてことはないよね?

634 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 00:34:48 ]
>>633
ありがとうございます。

エクセルはインストールされていて、両方2003だったと思います。
コンパイルできない端末には確かFlex Gridがインストールされているなど、特殊な設定がなされているのです。
自宅では問題なくコンパイルできていますし、やはり端末依存の問題なのかもしれません。

Marshal.ReleaseComObjectを使っても逆に不安定になったりするし、.NETからエクセルを動かすのは難しいなぁ。

635 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 00:48:31 ]
あー
それは複数のassenblyファイルがある場合だわ
消したらいいよ。



636 名前:550 mailto:sage [2009/07/26(日) 01:14:25 ]
>>598
それよさそうですね。
ちょっと試してみようと思います。
ただ問題は、ロックファイルの出力先が固定になっている部分です。
mdbファイルの場所を移動しても探せるように、Connectionstringをいじれる仕様なので、
ロックファイルの出力先アドレスをxmlファイルに保存しなきゃいけないかも知れません。
納期が近い為、そこまで手が回りませんが参考になりました。
どうもありがとうございました。

637 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 01:17:10 ]
>>635
AssemblyInfo.vbではなく、確かWindowsディレクトリ配下にアセンブリファイルがあり、それが端末によって異なっているせいで
端末によってコンパイルできたりできなかったりするような話は聞きました。

Dim app As Object
Dim book As Object
Dim sheet As Object
app = CreateObject("Excel.Application")

こんな感じに書くとコンパイルできるようなので、もうコードを書き直すしかないのかなと思っています。

638 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 01:43:08 ]
>>636
普通app.configに書かない?

639 名前:550 mailto:sage [2009/07/26(日) 01:44:08 ]
>>598
ただいま、試験的にプログラムを作って動かしたんですが、完璧ですね。
streamwriterをcloseしない限りは、そのアプリが専有で開いてるから
他からのアクセスが出来ないってことですね。
プログラムが異常終了しても自動的にlockfileへの専有が外れるから
他からのアクセスが可能になるということですね。
これかなりいいと思います。
ありがとうございました。

640 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 02:01:26 ]
>>639
当初の質問と関係なくなってるなw

641 名前:550 mailto:sage [2009/07/26(日) 02:33:32 ]
lockfileを隠しファイルにしたかったんですが、隠しファイルにすると
VBから見えてないのか、Streamwriterで例外エラー拾いますね。
たいした問題じゃないので我慢するしかないですねこれは・・・

642 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 20:18:52 ]
排他Openできるんならコネクションを開いたままにしとけばいいって何度も言ってるのに
なんでわざわざ独自に作りこむのかね。


643 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 20:24:27 ]
その方法がわからないからだろハゲ

644 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 20:58:34 ]
全コードで TableAdapter の Connection 書き換えれば
排他で開きっ放しに出来るだろうけど手間考えたら
>>598 みたいな方法が一番簡単だな

645 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 21:09:33 ]
そもそもその排他オープンが安全なのかが怪しいんだよね
それなら別次元の排他処理をしてしまうのもあり
だいたいちゃんとするならDBサーバーを入れるべきだし。



646 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 06:22:32 ]
Dim psi As New System.Diagnostics.ProcessStartInfo
Dim p As System.Diagnostics.Process
Dim ssPath As String = "C:\Program Files\Microsoft Visual Studio\VSS\win32\ss.exe"
Dim ssDir As String = "C:\Program Files\Microsoft Visual Studio\VSS\win32"
Dim ssUser = "user"
Dim ssPwd = "user"
Dim GetPath = "D:\work"

If ssPath.IndexOf(" ") > 0 AndAlso ssPath.Substring(0, 1) <> """" Then
ssPath = String.Format("""{0}""", ssPath)
End If

'ComSpecのパスを取得する
psi.FileName = System.Environment.GetEnvironmentVariable("ComSpec")
'出力を読み取れるようにする
psi.RedirectStandardInput = False
psi.RedirectStandardOutput = True
psi.UseShellExecute = False
'ウィンドウを表示しないようにする
psi.CreateNoWindow = True

'コマンドラインを指定("/c"は実行後閉じるために必要)
psi.Arguments = "/c " & ssPath & " get -gtm " & sName & " -GL" & GetPath & " -Y" & ssUser & "," & ssPwd
'起動
p = System.Diagnostics.Process.Start(psi)
result = p.StandardOutput.ReadToEnd
こんな感じでVSSから最新バージョンを取得しているのですが、データベースのパスを指定したいと思い、
psi.Arguments = "/c set SSDIR=" & ssDir & " && " & ssPath & " get -gtm " & sName & " -GL" & GetPath & " -Y" & ssUser & "," & ssPwd
のようにset SSDIRを追加すると取得できなくなってしまいます。
どこが間違っているのでしょうか?

647 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 07:40:11 ]
&で文字列連結すんな

648 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 08:02:57 ]
>>647
ildasmで見ると、String.Concatで連結されているのが確認できるよ。
こういう一連の連結に使う分には何ら問題は無い。

649 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 08:06:19 ]
&& だと環境変数は引き継がれないみたいだね

650 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 08:22:00 ]
連結後に更に連結するなら、せめてString.Formatを…。
読みにくくてかなわん。

651 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 08:36:24 ]
少しヒント
cmd /c"set AAA=XXX && echo %AAA%"
%AAA%
cmd /V:ON /c"set AAA=XXX && echo !AAA!"
XXX


652 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 23:07:00 ]
複数のBMPの画像をAVI動画に変換する方法を大まかにおしえて

653 名前:646 mailto:SAGE [2009/07/28(火) 00:10:18 ]
みなさんありがとうございます。
週末に試してみようと思います。

654 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 01:10:35 ]
>>652
1.Windows ムービー メーカー を起動する
2.対象の画像を読み込む
3.ムービーの発行でDV-AVIを選んで実行
4.AVI動画が完成\(^o^)/

655 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 22:21:11 ]
ODP.NETを使用し、パッケージをコールしてDataSetを取得し、
コンボボックスのDataSourceにDataTableを入れたのですが、
中身が表示されません。
DisplayMemberとValueMemberプロパティにも項目名を設定しています。
セットした後に、SelectedValueとSelectedTextの値を見ると、
SelectedValueには値が入っていますが、SelectedTextには値がありません。

パッケージをコールすると、
表示する用の文字列と裏で持つ用の文字列を複数レコード取得します。

調べても、問題ないと思うのですが何が悪いのでしょうか?

combo1.DataSource = DataTable
combo1.ValueMember = "AAA"
combo1.DisplayMember = "BBB"

試しに、AAAとBBBを逆にセットしてみたのですが、やはりSelectedValueの方しか値が入っていません。

よろしくお願いします。



656 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 22:26:57 ]
DataTable には値が入ってるの?

657 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 22:27:00 ]
SelectedTextはコンボボックスのテキスト入力部の、コピーとかのために「選択」してる文字列だから

658 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 22:32:58 ]
>>656
DataTableには値がちゃんと入っています。
デバッグでも確認しましたし、DataGridViewに突っ込んで確認しています。

>>657
そこは調べ不足でした。SelectedItemで確認するのが正しいですね。


最悪、ループでAddしていくしかないですかね…

659 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 22:37:50 ]
もう少し、ちゃんとしたコード出してみ。

DataTable の指定とかおかしそうな気がする。

660 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 22:43:14 ]
>>659
ソースが手元にないので、覚えている範囲で書きます。

Using ds As DataSet = (オラクルパッケージをFillメソッドで実行)
Using dt As DataTable = ds.Tables(0)

combo1.DataSource = dt ←このdtをDataGridViewに入れ、値が入っていることを確認
combo1.ValueMember = "AAA"
combo1.DisplayMember = "BBB"

End Using
End Using

こんな感じです。

661 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 22:48:35 ]
Disposeしてどうするあほかよ


662 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 23:31:00 ]
>>661
うわっ、すいません。初歩的な所で…
なぜ、DataGridViewは表示されたままだったのでしょうか?

663 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 11:41:38 ]
String.Formatの書式について教えて下さい。

String.Format("合 計 {0,12:\\###,###,##0}", dTotal) → 合 計 -\9,000

String.Format("合 計 \{0,12:###,###,##0}", dTotal) → 合 計 \ -9,000

String.Format("合 計 {0,12:\\-###,###,##0}", dTotal) → 合 計 -\-9,000

dTotalがマイナスの場合は-1をかけて、
String.Format("合 計 {0,12:\\-###,###,##0}", dTotal)とすれば
合 計 \-9,000になるのですが、それ以外の方法で
表示させるにはどうしたらいいでしょうか?

664 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 11:45:45 ]
セクション区切り記号 ;
を使えば正負でそれぞれに書式指定できる
使い方はカスタム数値書式指定文字列のページ見れ

665 名前:デフォルトの名無しさん [2009/07/30(木) 13:01:18 ]
VBNETの入門書2冊読破したんだけどどうすればいい?



666 名前:663 mailto:sage [2009/07/30(木) 13:03:44 ]
ありがとうございます。
おかげさまで出来ました!
もっと勉強します。


667 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 13:53:02 ]
自動更新で下のやつがきたんだけど手動でダウンロードできないんでしょうか?
できるのであれば方法を教えてください

Visual Studio 2005 Service Pack 1 セキュリティ更新プログラム(KB971090)

668 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 14:00:15 ]
KB番号ググりゃ見つかるだろ

669 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 14:08:44 ]
>>667
それクソ時間かかるよな。SP1 のときも思ったけど。

670 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 14:51:40 ]
なんか、やってることはほぼ再インストールと同じなんだそうだ。
だから、DLしてもどっちみち時間かかる

671 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 17:10:06 ]
>>669
そうそう
だから手動でダウンロードしたいわけなのよ

672 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 17:25:13 ]
www.microsoft.com/downloads/details.aspx?familyid=7c8729dc-06a2-4538-a90d-ff9464dc0197&displaylang=ja

249MBワロタ

673 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 17:33:05 ]
.NETからEXCEL使ってなんかやるとき、STAThreadじゃなくてMTAthreadだと、
なんか問題あったりするんでしょうか?

EXCELのオブジェクトを作成したスレッド以外から使ったりはしない前提です。

なんかイマイチこの辺を理解してないんです。

674 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 17:49:22 ]
>>672
ありがとうございます






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

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

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