VB.NET質問スレ(Part43) [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2016/06/15(水) 11:41:09.50ID:bPj3FmGk
前スレ

VB.NET質問スレ(Part40)
http://toro.2ch.net/test/read.cgi/tech/1365857015/
VB.NET質問スレ(Part41)
http://peace.2ch.net/test/read.cgi/tech/1391334405/
VB.NET質問スレ(Part42)
http://echo.2ch.net/test/read.cgi/tech/1419148239/
2017/08/14(月) 20:57:46.47ID:NHS+W82U
>>671
拡張メソッド書いとけばいいじゃん
2017/08/15(火) 06:39:14.36ID:3ZJdJfY6
ちなみにWindowsのメモ帳でUnicode保存するときわ
UTF16 リトルインディアン BOM付
マメな
675デフォルトの名無しさん
垢版 |
2017/08/15(火) 08:54:41.68ID:QkdEv7VL
>>672
対称性がないと普通の人はめんどくさいはず。
つまり
c = a.tostring
a = c.tointeger
これが対称性
気にならないとしたら精神力が極めて強いとか、かなり特殊な人だと思う。
英語に詳しそうだけど、英語のようなある意味複雑怪奇な言語をマスターできている
としたら相当根性があるね。

>>673
そういうのがあるとは知らなかった。ありがとう。
2017/08/15(火) 10:19:21.62ID:IHvUQsH9
>>675
対称性()を尊重してToString持った型全てに対してString.ToXXXを用意しろということ?
一体いくつあると思ってんの?
2017/08/15(火) 11:17:15.49ID:p+eNcMXx
つかtostringはobjectから継承してんだからobjectに実装するだけだが
全く意味は無いな
2017/08/15(火) 18:48:20.02ID:CmABdkOe
stringとintegerが対称て 
2017/08/15(火) 20:45:05.75ID:3ZJdJfY6
平行移動しても回転しても変わらないところを見せよ
680デフォルトの名無しさん
垢版 |
2017/08/16(水) 00:47:10.66ID:7vn1plFo
並行移動
c0 = a0.tostring : a0 = c0.tointeger
c1 = a1.tostring : a1 = c1.tointeger
回転
c = a.tostring : a = c.tointeger
a = c.tointeger : c = a.tostring
681デフォルトの名無しさん
垢版 |
2017/08/16(水) 00:48:33.90ID:7vn1plFo
>>全く意味は無いな
根性がある人だけ
2017/08/16(水) 06:36:57.42ID:/mh2iuhI
数値に限らず ToString ⇔ Parse でしょ
683デフォルトの名無しさん
垢版 |
2017/08/16(水) 12:21:02.42ID:7vn1plFo
Parseは解析だからもう少し機能があってしかるべき言葉だろうな。toStringに対応する
言葉ではないな。まあ命名は大変だから仕方ないけど。
2017/08/16(水) 12:42:27.22ID:/Od0yDuB
CType(〜)
こそオブジェクト指向
685デフォルトの名無しさん
垢版 |
2017/08/17(木) 11:56:42.10ID:uqKN3QQl
汎用的オブジェクトの保存と取り出し機能を探してるんだが例えば
1.クラスインスタンスのデータだけ(dictionary,配列なども丸ごと)をテキスト形式でファイル保存して
2.テキストエディターでそれを編集する。
3.編集したものを再度クラスインスタンスに読み込みをする
こんなことをしたいのだけど、なんかよい方法はない?
2017/08/17(木) 12:06:28.63ID:MXcjXfDR
XmlSerializerではだめなの?
687デフォルトの名無しさん
垢版 |
2017/08/18(金) 10:08:29.75ID:A1J5J7Ue
XMLとかめんどくさくて使ったことないんだが、専用エディタとかで使うんだろうか?
一旦簡易形式に変換して編集してまたもとに戻すのかな?
XML−−>変換 マークダウン エディットーーー>変換ーー>XML
2017/08/18(金) 11:16:52.71ID:Jf2sTJDT
どんな規模のデータを想定するかによるが
普通はテキストエディタでそのまま書き換える
2017/08/18(金) 12:04:02.61ID:ZCubMA96
JSONにしとけ
690デフォルトの名無しさん
垢版 |
2017/08/21(月) 18:23:41.94ID:xXFz6ihy
HAL,JSON-APIだったらどっちがいい?
691デフォルトの名無しさん
垢版 |
2017/08/22(火) 05:09:37.15ID:d7ebk59r
コレクションとかディクショナリーはJSONでは無理では?
2017/08/22(火) 06:46:59.20ID:tVMqw9p7
>>691
いくらVBerとはいえ無知にも程がある
JSONなら[ ... ] がコレクションで { ... } がディクショナリ
2017/08/22(火) 13:39:00.14ID:1JK3C2LQ
>>666
なんでそんなことしたいのかも書いたほうがいいと思うぞ
694デフォルトの名無しさん
垢版 |
2017/08/22(火) 14:54:33.95ID:d7ebk59r
>>692
無知には程なんてないからね。君もこの程度のことを知らないのだからやはり無知だな。でも無知なんてものは
知れば一瞬にして終わる。だから恥ずべきことではない。ところで

>JSONなら[ ... ] がコレクションで { ... } がディクショナリ
これは勝手に君かもしくは君がしっている閉鎖的集団内で通じる規則として勝手に決めたフォーマットだろ、これを
サポートするVBのコマンドはない。
 Dictionaryを適当に展開してこのようなフォーマットで保存すればよいということだね。
そういうことなら、そうだと説明しないと解らない。こちらは想像力だけで判断しているんだが、、
2017/08/22(火) 14:58:01.29ID:psjy/gWC
IEnumerableの拡張メソッドを作った時に
IEnumerableを継承したCollectionとかListは対象にならないの?
CollectionとかListで同様に拡張メソッドを作るか
AsEnumerableでIEnumerableにすればやりたいことはできるけど・・・
2017/08/22(火) 15:08:01.90ID:vqjwX2Vb
各クラス/インターフェイスがジェネリックなのかそうでないのか
はっきりしてくれないとわけわからんが
普通はできるのでなんかおかしいこと書いてるんだろう
2017/08/22(火) 15:18:07.94ID:zg+G/gON
>>694
すごい早口で言ってそう
2017/08/22(火) 15:27:53.01ID:psjy/gWC
>>696
あーごめんなさい。できますね。
IEnumerableに拡張メソッドをどんどん追加するとインテリセンスの候補がいっぱい出てきちゃって
自分で作ったやつがわからなくなるからとあるサイトをみて
Items.ToExtension.XXXみたいになるようにしていたんですがこれが原因でした。
2017/08/22(火) 15:39:25.68ID:X2zW1dp7
>>694
>これは勝手に君かもしくは君がしっている閉鎖的集団内で通じる規則として勝手に決めたフォーマットだろ、これをサポートするVBのコマンドはない。
間違い。JSONの配列やマップをそれぞれリスト型やディクショナリ型とマッピングすることは一般的である。
実際、WCFのJSONシリアライズはそういう仕様だし、.NETにおいてJSONを扱うライブラリのデファクトスタンダードであるJSON.NETもそう。
知らないのが悪いんじゃなくて、そうやって知らないのに思い込みで物をいうからバカにされるんだよ。
2017/08/22(火) 16:08:17.55ID:1JK3C2LQ
>>694
いやーさすがにこれはないわー
701デフォルトの名無しさん
垢版 |
2017/08/22(火) 18:31:28.28ID:d7ebk59r
>>699
そうだな。
そういうふうにキーワードなどの根拠となる事実を上げて説明する。そうすると確認することができるから君に誤りがある場合にもより正確にそれを指摘できる。
根拠が示されないと残念ながら指摘もあいまいになる。

因みに>>700こういう輩はシッタカが殆どで正確に表現する能力がない。まあ名誉回復の為に699の発言に於いて抜けている重要事項を追加説明できるか
どうかチャンスをやろう。それができないなら単なるシッタカ。
2017/08/22(火) 18:58:29.27ID:1JK3C2LQ
>>701
いやーJSON知らなかったっていうのは別にいいと思うよ
でも>>694みたいなレスはさすがに恥ずかしい
”JSON”でググればすぐ分かることなんだから

ちゃんと謝っとこうね
703デフォルトの名無しさん
垢版 |
2017/08/22(火) 20:48:34.46ID:d7ebk59r
シッタカ決定
2017/08/22(火) 21:21:34.59ID:1JK3C2LQ
俺の知ってるソフトウェア開発者っていう閉鎖的集団内ではJSONの基本フォーマットは常識なのよ
日本人っていう閉鎖的集団内で47都道府県名が常識なのと同じレベル
その常識に対してシッタカとか言われても、はあぁ?ってなるわ

恥の上塗りを重ねる前に“JSON”でググれよな
俺の環境だと↓これがトップヒット
http://www.json.org/

もしググったにもかかわらず>>694みたいなレスしてんなら
プログラム書く前にもっと基礎を勉強したほうがいいよ
705デフォルトの名無しさん
垢版 |
2017/08/22(火) 23:00:11.31ID:Bmva2yao
{"a":124, "b":[3,4,5], "c": {"x":123, "y":"abcde", "z":true}}

aは整数だからDictionary(Of String, Integer)?違います
bは整数リストだからDictionary(Of String, List(Of Integer))?違います
cはDictionary(Of String, Dictionary(Of String, ???????))

VBではJSONは無理ですね
2017/08/22(火) 23:27:27.24ID:1JK3C2LQ
>>705
cはDictionary(Of String, Dictionary(Of String, Object))
JSONだけじゃなくVBも勉強したほうがいいみたいね

すべての型をそのままJSONにできるわけでも
すべてのJSONを任意の言語の型にそのままマッピングできるわけでもないけど
それはどんなデータフォーマットだって同じだから
VBだけJSONは無理なんてことはありえない
707デフォルトの名無しさん
垢版 |
2017/08/23(水) 01:10:59.17ID:nD3v/vvZ
>>706
お前の場合は根拠をしめした説明が何もない。単なる罵りだけ。品性も論理性も知性もない。それでは駄目だな。
説明力がまるでない。だからシッタカと判断される。

しかし今回はこの JSON定義 サイトを示してきたことは褒めておこう。
http://www.json.org/

でもこのサイト最初から間違ってるじゃん。最初の図はobjectじゃないな。これはmemberの定義だよな。
intrduceで出鱈目もいいとこだな。
これ見たら表現力全然ないフォーマットだなと思ってしまう。最悪の紹介だな。
2017/08/23(水) 01:22:25.86ID:bHZ6/xkT
>>707
objectってのはJavaScript用語な

JavaScriptのobjectはプロパティのコレクションで
プロパティはKeyValueペア、つまりobjectはディクショナリ相当なの

JSONのJから勉強して
まあとにかくガンバレよ
709デフォルトの名無しさん
垢版 |
2017/08/23(水) 01:25:22.59ID:nD3v/vvZ
>すべての型をそのままJSONにできるわけでも
>すべてのJSONを任意の言語の型にそのままマッピングできるわけでもないけど

JSONの定義が大体分かったところで、それをVB.netで実現するライブラリが用意されているかどうかだな。
Jsonは汎用フォーマットだから、Dictionaryの保存ができるかできないかというならできるに決まってる。
問題は手軽にできるようにライブラリによってサポートされているかどうかだ。

 .NET Framwork標準 DataContactJsonSerializer
 CodePlex 公開    DynamicJson
 CodePlex公開    Json.net

有名なところでこのくらい。ライブラリがある。
まあJson.netはDictionaryもそこそこサポートできている。後の二つは正確には調べていないが多分駄目だろうな。
710デフォルトの名無しさん
垢版 |
2017/08/23(水) 01:28:29.40ID:nD3v/vvZ
>>708
それがシッタカだっていうの。これはバッカス記法だからJavaScrit以前の問題だ。
明らかに誤りだよ。
2017/08/23(水) 02:23:06.58ID:bHZ6/xkT
>>710
シンタックスダイアグラムはバッカス記法じゃねーわ
いい加減にしろよww

間違ってもないとこを間違ってるとか言いはって
何回恥の上塗りしたら気が済むねん

VBにJSONは無理なんじゃなく
君みたいなVBerにはJSON無理
2017/08/23(水) 02:25:23.95ID:yMMFXiqG
JSONは外側をobjectにする必要はないので
true
の値ひとつでもJSONとして成立しますしですしおすし
2017/08/23(水) 02:40:27.91ID:I/Vx60Z7
ID:nD3v/vvZはもう引っ込みがつかないんだからやめてやれよ
泣きながら腕グルグル回して飛びかかってくるぞ
714デフォルトの名無しさん
垢版 |
2017/08/23(水) 05:14:44.76ID:nD3v/vvZ
>>711
おっ、よく気が付いたな。些末な言葉尻には気が付いても、「間違いがある」という本質は
解らんのかな?

しかしSyntaxDiagramの基底にはバッカスがあるんだよ。
Syntax diagrams (or railroad diagrams) are a way to represent a context-free grammar.
They represent a graphical alternative to Backus–Naur form or to EBNF as metalanguages.
Early books using syntax diagrams include the "Pascal User ... WIKI
715デフォルトの名無しさん
垢版 |
2017/08/23(水) 05:15:12.09ID:nD3v/vvZ
>間違ってもないとこを間違ってるとか言いはって 何回恥の上塗りしたら気が済むねん

間違いが分からないとするとBNFの内容を理解してなくて字面だけを記憶してるだけだろうな。
それでは駄目だな。多く知っているようでもその知っている知識はガラクタだな。

ここにあるダイアグラムではobjectを
object
{"aa": xx , "bb": yy, "" : "zz", ..... }と定義している。これでは全く不完全だな。

array以下はあってるな。
この説明ではVBのDictionaryは表現できない。
ディクショナリでは
dictionaryName : { "key0" : xx, "key1": yy, "key2" : zz} こういう構造が必要だ。
でさらにDiagramをよく見るとValueにObjectを含んでいる。そういうことかValueの中のObjectを見落としていたのか?
ということで、間違いではなくてそれは「Valueの中のObjectの再帰定義を見落としていますよ。」って指摘ができれば
かなり賢い。知識はガラクタではないということになる。しかしこういう筋の通った説明ができないで喚くだけでは駄目だな。
分かっていたかどうかも怪しい。確率50%で外れてるが、たまたま当たった。w

もう一つ言えばこのDiagramの書き方も直観的に間違いを誘発するような駄目な記述だな。ObjectをValueの中で再帰定義する
なら特徴的に書かないと読む方は見落とす。表現の基本がなってない。
716デフォルトの名無しさん
垢版 |
2017/08/23(水) 05:28:14.67ID:nD3v/vvZ
繰り返し言うが説明や根拠の乏しい主張は無意味だ。丁寧に説明する癖をつけないと賢くならない。
説明をすると、仮に間違っていても説明の過程で正しい解にたどり着く。もし正しい解にたどり着けない
にしても、誰か親切な人から訂正をしてもらえる。
説明をしないで罵るのは最悪だ。そういう癖のある人は常にそういう脳の使い方をしているので脳が
機能しなくなる。
2017/08/23(水) 06:26:41.09ID:PWTjZsi1
>>709
今時CodePlexって、まさかgithubもnugetも知らないの?
まあJSONとは違ってVBerの半分くらいは知らなそうだからムキになる必要はないぞw
718デフォルトの名無しさん
垢版 |
2017/08/23(水) 06:42:23.72ID:nD3v/vvZ
そういうシッタカはウンザリだ。
2017/08/25(金) 18:47:33.46ID:Okz94tsr
VacaBakka
2017/08/25(金) 20:49:22.66ID:bWcDs7QB
.NET Core 2がVisual BasicをLinuxとmacOSにもたらす
https://www.infoq.com/jp/news/2017/08/dotnetcore2-vb
2017/08/25(金) 20:53:24.70ID:eKK+eiVP
>>720
やめてくれ
せっかくこのままVBがフェードアウトしてくれるところだったのに
2017/09/04(月) 12:22:51.36ID:zDZbs+Yz
1分毎にSub _Check()を1回実行させたいんですが、実際動かしてみると
1分後にSub _Check()を1回実行、2分後にSub _Check()を2回実行、3分後に3回・・
って感じでどんどん実行回数が増えていってしまいます。

ネットで以前拾ったフリーの物をいじっていて、以下のようになっているのですが
どうやったら1分毎に1回だけ実行させるように変えられますか?

ビルドの仕方が悪いとかありますか?

Sub aaa
AddHandler Timer.Tick, AddressOf Check
Timer.Interval = 60 * 1000
Timer.Enabled = True
End Sub

Sub Check()

AddHandler BackGround.DoWork, AddressOf _Check
AddHandler BackGround.RunWorkerCompleted, AddressOf Balloon_Show
If BackGround.IsBusy Then
Return
End If
BackGround.RunWorkerAsync()
End Sub

Sub _Check()
MsgBox("チェック")
End Sub
2017/09/04(月) 12:31:12.42ID:UpKs6Xg1
ぱっと見ただけで言うけど
一分ごとにAddHandlerしてるからじゃね?
2017/09/08(金) 11:42:00.08ID:2HXwLqzE
722ですけど
1分毎にAddHandlerするとどうおかしいんですか?
どう変えたら良いか何かヒントだけでも教えてもらえませんか。
723見てから考えたり検索したりしてみたんですけどやっぱり分からなくて。。
自分かなりプログラミングの知識が無い人間なもので。。
2017/09/08(金) 16:06:27.08ID:2HXwLqzE
722です。

他でも聞いてみたらこうだったみたいです。

Sub aaa
AddHandler Timer.Tick, AddressOf Check
Timer.Interval = 60 * 1000
Timer.Enabled = True

AddHandler BackGround.DoWork, AddressOf _Check
AddHandler BackGround.RunWorkerCompleted, AddressOf Balloon_Show

End Sub

一分ごとにAddHandlerしてるからじゃねってこういう意味だったんですね。
結局私には理解出来なかったんですがwありがとうございました。
2017/09/11(月) 23:31:41.16ID:r5xmv3Ye
PC(VB.NET)でLAN接続したRasPi(Win10 iot core)のGPIOの制御をしたいのですが、どうしたら宜しいでしょうか。
727デフォルトの名無しさん
垢版 |
2017/09/19(火) 12:09:09.53ID:CiFpR9wm
先日2003があったので始めた初心者です
wavファイルをPlaySyncで再生したいのですが、再生が終わり次第次々他のwavファイルを再生していくということと、
繰り返し処理をする度再生するwavファイルの変更(パスで入力しています)をするということはどうやったら可能でしょうか?
2017/09/19(火) 12:13:57.64ID:PJTSF08k
まずその2003とかいうゴミは捨てろ
今のVSは最新版が無料で配布されている
729デフォルトの名無しさん
垢版 |
2017/09/19(火) 13:02:31.36ID:CiFpR9wm
間違えましたすいません2013professionalです
2017/09/19(火) 13:10:06.34ID:oRSrnZEU
>>726
ラズパイは、Python じゃないの?
2017/09/19(火) 13:55:59.70ID:PJTSF08k
>>727
直行する問題は分けて考えよう
まずファイルパスを変えながらファイルパスをコンソールに出力していくプログラムを作る
コンソールに出力するところをPlaySyncに置き換える
これだけのこと
732デフォルトの名無しさん
垢版 |
2017/09/19(火) 15:01:36.81ID:CiFpR9wm
>>731
ありがとうございました
そのプログラムの書き方もわかりませんし、色々試してみましたが複数の音声ファイルを順に再生していくことさえできなかったので、諦めようかと思います
2017/09/19(火) 15:46:08.25ID:k55uTTGg
https://dobon.net/vb/dotnet/programing/playwavfile.html
↑が理解できないなら諦めた方が良いかも
2017/09/19(火) 18:55:22.08ID:oRSrnZEU
>>727
>再生が終わり次第、次々他のwavファイルを再生していく
これは、再生アプリの方で、曲が終わったタイミングで、
こちらのプログラムのコールバック関数を呼んでもらう

つまり、非同期処理だから、初心者ができる訳ない

JavaScript などで、非同期処理に慣れていないと、できない
2017/09/19(火) 18:58:08.69ID:PJTSF08k
>>734
PlaySyncだから再生終了までブロックする。非同期処理は必要ない。
もちろん現実には非同期処理をしないと再生終了までUIがフリーズするビチグソになるが、
一応の要件は満たせる
2017/09/19(火) 19:03:17.52ID:sBYjPNie
ワーカースレッドの中でやればいいじゃん
スレッドにはキューでくべてやれば
2017/09/19(火) 19:15:59.50ID:jrl9HDel
どっちにしても同期で順に再生することができないというなら
手の施しようがない
2017/09/19(火) 22:11:07.32ID:Lmy6WMsF
WCFサービス参照を追加するときに、型の再利用を考えています。
その型のアセンブリ名とプロジェクト名が異なると、WCFサービス参照を追加したときに、アセンブリ名で参照が追加され、エラーになります。
すでにプロジェクト参照が追加されているので、新しく追加されたアセンブリ参照を削除するとエラーが解決されます。
これってバグなのでしょうか?
739デフォルトの名無しさん
垢版 |
2017/09/20(水) 21:02:45.48ID:cmLxLvt1
すみません、未練たらしいのですが基本的なことだけ教えていただけませんか?
>>733のURLのコードをPlaySyncに変えただけのものに、player.PlaySyncに続けて、
PlaySound("別のファイル")
player = New System.Media.SoundPlayer(waveFile)
player.PlaySync
と挿入すると、2つ目のファイルが延々と再生され続けてしまいます
その後にStopSoundなど入れても意味がないので根本的なところがわかっていないと思うのですが、どこがおかしいでしょうか
できれば簡単に教えていただきたいです…
2017/09/20(水) 22:51:09.39ID:epnCWBlF
>>730
WebIOPiならできたのですが、そこをなんとか・・
2017/09/24(日) 05:42:08.55ID:wyPZ0ic9
webbrowserコントロールでページ内のテキストボックスに数値を入れたいのですが、そのテキストボックスのIDが表示されるたびに変化してしまうので、取得出来ずnullexceptionになってしまいます。

idはnumber_**********という感じで表示の度に_以降の数値が増えます。

出来る方法があれば教えてください。
2017/09/24(日) 08:22:31.09ID:Iu73uVEK
id以外で探すしかないんじゃない? bodyの3番目のdivの2番目のinput、とかそういう風なのとか
number_って接頭辞のidがそのページで1つだけなら全input要素の中でidの先頭がnumber_で始まるの探すとか
2017/09/24(日) 22:02:33.61ID:wyPZ0ic9
>>742
ありがとうございます。
明日、会社で検証してみます。
744sage
垢版 |
2017/09/26(火) 14:58:38.36ID:PpQ5JcU2
VB6のプログラムを.NETに移せと言われてます。
当方、最近やっとVB6をちょっと理解したばかり。
VB6のモジュール内に、変数やらエクセル操作のプロシージャがあるのですが、
これはどこに移せばいいですか?
フォームに移すと多すぎなので、見やすいようにわけれればいいのですが。
2017/09/26(火) 15:22:47.41ID:z+UMsHRU
とりあえず移植なら同じようにモジュールに書けばいいわけだが
2017/09/26(火) 16:18:28.87ID:PpQ5JcU2
>>745
ありがとうございます。
わからなくて色々見ていたら、モジュールは使わずクラスに書くとか、
エクセルの操作では、COMの解放やらインスタンス生成とか、
もう??だらけでした。
とりあえずは、現行と同じモジュールで大丈夫と聞いてホッとしました。
2017/09/26(火) 16:19:21.84ID:yUnVCaTy
まだそういう仕事あるんだねぇ
2017/09/26(火) 17:21:40.77ID:Jf7hYkjk
もう恐らくデスクトップがなくなるまでVb6ランタイムはサポートされそうな気がするけどねw
2017/09/26(火) 20:12:01.39ID:b2jheQUq
噂だけどペンタゴンにあるシステムでVB6の物があるからサポート切れないとか
2017/09/27(水) 07:10:43.77ID:vQ8fTHXT
windowsが10で終わるのはvb6切るためという噂がある

でもwindowsブランド捨てたらMSのOS事業も終わるだろうから老醜を晒してモダン化諦めたwindows作るかもな
2017/09/28(木) 16:44:52.29ID:p7vLxmpX
昔VB厨で、最近までVB離れてUNIX、Linux、VC++、C#やってきたけど、
最近、VBAマクロ移植の話があって、VB.net触ってみた。

書式がちょっとVBっぽいだけで、構造は、C#のままだよなぁ。
VB互換の便利関数が使えるといっても、C#でも参照できるクラスだし。

VB並に強力な、オブジェクトメンバーの追跡できる機能がVSにあれば
いいんだけど、結局知らないモジュールのリファクタリングは手でやらなきゃいけないし。
常時Dynamicで全行ステップ実行とかできれば使いどころあるんだけどなぁ。
2017/09/30(土) 15:06:05.99ID:JKOApPN+
VBAなんかをやってた者だが、簡易にデータベースにアクセスするプログラムを書いてみた。
簡易な奴なのでAccessベースで接続するんだが、32bitと64bitで問題になってる。
×86CPU向けに作れば32bit、AnyCPU向けに作れば64bitに対応できるようだけど、インストールするマシンにAccessが入ってるとそのAccessが64bitか32bitかに左右されてしまう。(Accessと異なるbitのエンジンはインストール出来ない。)

これってどうにもならないのか?
2通りで作るしかない?
データベース変えるしかないのかな。
2017/09/30(土) 15:26:57.66ID:Sabzk006
割り算の余りの求め方がわからなくてググっちゃったw
2017/09/30(土) 15:49:17.56ID:9tcp6esL
SQLiteでいいだろ
2017/09/30(土) 16:07:08.00ID:JKOApPN+
>>754
やっぱそうなるよね。
出来ればMSでどうにかしたいんだ。
ワケありでね。
Accessベースが駄目ならテキストベースも考えたんだけど、これ64bit駄目だよね。

やっぱり2通りで作るしかないか。
756デフォルトの名無しさん
垢版 |
2017/09/30(土) 20:24:13.79ID:KohNdydM
>>755
SQL Server Compactは?
マネージドだからいけそうだけど
2017/09/30(土) 21:53:28.79ID:Np6DtGQS
もうJET&mdbでx86固定にすればいいんじゃね
2017/10/01(日) 13:39:13.85ID:PxgxVv4e
>>756
情報ありがとう。
調べてみたら良さそう。
これで組んでみる。

>>757
×86限定ならJETでもACEでもいけるだろうね。
というか、ACEではいけてる。
気になったのは、こんな制限が残ってるんだということ。
VBAをやってた者からするとOfficeのbitは同じだから気付かなかった。
2017/10/01(日) 15:56:04.09ID:K1ZKurRy
Windows 64bit - Office 64bit - ACE 64bitならAnyCPU/x64でOK
Windows 32bit - Office 32bit - ACE 32bitならx86でOK
になってACEじゃどうにもならんはずだけどそうでもなかったっけ?
2017/10/01(日) 15:57:01.86ID:K1ZKurRy
あ、下段違う
Windows 64bit - Office 32bit - ACE 32bitならx86でOK

Windows 32bit - Office 32bit - ACE 32bitならAnyCPU/x86でOKだな
2017/10/01(日) 16:25:46.41ID:+BZf6Z9D
>>752
ACEの32ビットと64ビットが同居できない
.NETの問題じゃないのでどうにもできないな

OFFICEが32と64とで別なんだから、32ビット用と64ビット用分けるしかねえんじゃね
つか64ビットのACCESS使ってるとこ見た事ないけどな

>>760
Office(ACEドライバ) 64bit 使いたいって話じゃないのかね
2017/10/01(日) 20:22:10.30ID:5vH0Pat/
>>761
そう。
正にこれ。

実は作ってたのがVBEのアドインで、昔のAPIViewerみたいなのだったんで、Officeがインストールされてる環境が前提だった。
初めて.netで組んでみたけどコードの部分は感覚的に分かりやすいね。
元々似てるし。

http://imgur.com/9gzQbNy.jpg
2017/10/02(月) 00:18:26.18ID:mjmvjzw0
>>752
うちの会社のSEなら問答無用でAccessを32ビットに統一させるな
そもそも、7まではOSは32ビットにしろ!なのでOfficeも(64ビットOSでも)32ビット強制

まあ、そういう解決方法もあると言うことで
2017/10/02(月) 00:20:44.20ID:mjmvjzw0
SE ×
シス管 ○
2017/10/02(月) 06:29:24.04ID:wMevtdK8
自分が仕事したくないだけの典型的な無能情シスだね
2017/10/02(月) 10:06:08.92ID:bWh9nOt5
64officeだと32で開発したものが動かないからだろう
2017/10/02(月) 11:05:05.57ID:YjIt9Zua
64bit版Officeにするメリットがあるかどうかだろ
2017/10/02(月) 12:57:21.76ID:Kxj0uZ10
不特定多数にバラ撒くアプリだと無理だけど
たとえばx32なOfficeの入ってる環境にx64のACEを強制インストする方法があったと思う
2017/10/03(火) 00:56:32.41ID:L8hprTCo
AnyCPUなDLLにして、オフィスから呼んでもらうのはどうだろう
それならオフィスと同じビット数で動くんじゃね
2017/10/03(火) 07:16:47.34ID:ObXIbUik
>>768
そういう認識も無く不特定多数にばら撒いて混乱するのがVB開発の醍醐味
2017/10/03(火) 09:56:50.00ID:H26XOqff
C#でも一緒だが
2017/10/03(火) 10:00:24.30ID:eY/q0sas
>>771
コンプレックスでもあんの?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況