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


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

VBプログラマ質問スレ(Ver.6.0 まで) part62



1 名前:デフォルトの名無しさん [2013/02/15(金) 16:54:12.79 ]
ここは Visual Basic 〜6.0 の質問スレです。
質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。

VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。

○ 質問者の心得
 一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。
 二.VBScript、インストーラーなどはこのスレでOK。
 三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。
 四.荒らしは相手しない。

○ 回答者の心得
 一.答えられない質問は無駄に罵倒せずスルー。無理するな。
 二.代用法を強制しない。
 三.回答する上で必須ではない情報をむやみに聞き返さない。
 四.荒らしは相手しない。
 五.VB情報募集中。
 六.回答は質問者が理解できるよう具体的に。

MSDN Online Japan ホーム
 www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6
 msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
Google
 www.google.co.jp/

前スレ VBプログラマ質問スレ(Ver.6.0 まで) part61
toro.2ch.net/test/read.cgi/tech/1359721249/

※「まず自分で調べる」クセを身につけよう。

369 名前:デフォルトの名無しさん [2013/03/27(水) 15:04:34.62 ]
>>368
COMに対応しています。画像ファイルで印刷結果を直出させるプリンタドライバをCOMで制御できます。
仕事でVB6はあまり使わないのですが、それでも2回VB6で納品しました。
自分はVB6を使うとき、だいたいクラスが全コードの9割以上を占めます。

決してオブジェクト指向な言語ではないですが、オブジェクト指向の便利な特徴を使えるので
VB6は言語としては悪くないとおもいます。ただ今時使ってたらちょっと恥ずかしい。

370 名前:デフォルトの名無しさん mailto:sage [2013/03/27(水) 15:13:22.43 ]
>>369
>>369
ありがとうございます、試してみます。
VB6から移行しなくてはと思ってはいるのですが、どの言語を選んで良いのか迷ったままズルズルときてしまいました。
Cはマイコンレベルでは多少経験がありますが、素直に.NETにするべきですかね?

371 名前:デフォルトの名無しさん mailto:sage [2013/03/27(水) 15:17:52.32 ]
ここまできたんだから、そのままズルズル生きていけばいいじゃないか

372 名前:デフォルトの名無しさん [2013/03/27(水) 17:32:11.78 ]
>>370
仕事でプログラミングをしている場合、新しい言語の習得は
その言語での開発依頼から始まると言っていいでしょう。
会社で新しい言語を習得したいので勉強する時間をくれとか言って通るはずもなく
また家で勉強しようと思っても休みの日は休みたくなるし
なんだかんだ言って先送りしてしまうのがオチでしょう。

まあ当該言語バージンの担当者に当たったクライアントは可哀そうですが
家電製品や車だってファーストロットは問題アリアリだし、バレないように手直しして
なんとか最後は一流のものに仕立て上げている訳です。

VB6だって始めたころに書いたコーディングなんて恥ずかしくて人に見せられません。
C言語の癖で配列の要素を必ず必要とする数から1つ多く設定してしまったり
Dimでの連続変数宣言で、実は1個しか型指定できてなくて残りは全部バリアントだったとか
それでも動いていて今でもサポート料金を月に30万円も払ってくださるクライアントがいるのですから
とにかくプロならなんとか乗り越えないと恥ずかしいです。

373 名前:デフォルトの名無しさん mailto:sage [2013/03/28(木) 09:37:45.93 ]
>>372
全くもっておっしゃるとおりです。
殆どの仕事が、ベースになるプログラムを元に客先のスタイルに合わせて多少のアレンジをするといったスタイルなので、
実績という意味ではVB6で10年以上やってきて、バグフィックスもほぼ終わってるプログラムを維持したいというのが本音です。

新たな言語に移行する場合は、ノウハウはゼロですので、最低でも数ヶ月は社内で稼働させて動作を検証してから製品化するつもりです。
それでも信頼性はがた落ちですが、メーカーがサポートしていない言語を使い続けるよりは良いのでしょうね。

374 名前:デフォルトの名無しさん [2013/03/28(木) 10:04:18.08 ]
>>373
>メーカーがサポートしていない言語を使い続けるよりは良いのでしょうね。

これは一概になんとも。。。

たとえばVB6を使用していた期間、かれこれ10年くらいはありましたが
その期間にVB6についてマイクロソフト社にサポートを受けた事は一度もありませんでした。
もちろん、サービスパックは必ず最新のものを導入していましたのでバックグラウンドではサポートを受けていた事になります。
もしVB6を使用する上で何らかの致命的なバグに遭遇したり、新しいWindowsでの振る舞いに対応できなかったり
色々問題に遭遇することはあるかもしれませんが、原因を切り分けし問題を自己解決できれば
可能な限りVB6を使い続けても問題があるようには思えません。

逆にマイクロソフトにサポートされているからその言語は安全かと言えばとんでもない。
開発しソフトウェアの品質を最も大きく左右するのはマイクロソフト社ではなく、プログラマーのあなたご自身です。

375 名前:デフォルトの名無しさん mailto:sage [2013/03/28(木) 10:35:40.03 ]
>>374
VB6が動作するOSが問題だと思います。
XPを計測制御関係など専用のOSとして供給し続けてくれるならVB6を使い続けますが、
vista以降、開発環境での動作は保証されてなく、実際に問題も生じています。
動作環境でもprogramfilesや互換性ファイルなどの扱いもあるので、そろそろ潮時かなと。

376 名前:デフォルトの名無しさん [2013/03/28(木) 15:26:48.41 ]
>>375
メーカーのサポートが打ち切られた開発環境を使用する以上
自分で工夫して問題を解決できなくなったらその時点でアウト。
アウトになってからでは遅いので、アウトにある前に対応しておくのがプロというもの。

しかし現時点においてWindows 8上でも問題を回避してVB6の開発環境を使用可能。
問題はWindowsよりも64bit対応の方かも知れない。少なくともIDEはまともに動かないし
ランタイムも64bitネイティブでは動作しない。アプリの互換に比べればOLEの互換を保つ
難しさは計り知れない。

377 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 00:30:50.96 ]
勘違いしてる人が多いようだがVB6はサポートされてます
だって動いてるだろ?わざわざ動くようにしてあるって事だよ。
移行ガイドまで用意してくれてる親切設計だし、普通のメーカーだったらここまでサポートしない。
動かないので乗り換えて下さい、で終わりだよ。

そしてVB6自体は今後のWindowsでもサポートされ続ける可能性が高い
7でも8でも最初はサポートしないと言ってあっさりひっくり返ったからね
周りがそう簡単に止めさせてはくれないのだろう

>>376も言ってるけど問題はそれ以外だよな
ドライバとかドライバーとかDriverとか



378 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 01:05:22.84 ]
ごちゃごちゃいってないで公式で発表してるんだからそれよめよ

Windows Vista、Windows Server 2008、Windows 7、および Windows 8 に対する Visual Basic 6.0 のサポートに関する声明
msdn.microsoft.com/ja-jp/vstudio/ms788708.aspx

Visual Basic チームは、Visual Basic 6.0 アプリケーションが Windows Vista、R2 を含む
Windows Server 2008、Windows 7、およびWindows 8 でも "動作する" よう、その互換性に向けて努力を続けています。


Windows 8

このサポートに関する声明が最初にリリースされた後に Windows 8 オペレーティング システムが発表されました。
このドキュメントは、Windows 8 における VB6 に対するマイクロソフトのサポートを明確にするために更新されています。

VB6 ランタイムは Windows 8 のサポート有効期間中はOSに同梱される形で出荷され、サポートされます。
Visual Basic 6.0 ランタイム ファイルは今後も 32 ビットのみであり、すべてのコンポーネントは
32 ビット アプリケーション プロセスでホストされている必要があります。 開発者の方は、Windows 7 の
場合と同様のサポートが Windows 8 についても受けられると考えていただいてかまいません。

379 名前:デフォルトの名無しさん [2013/03/29(金) 01:53:36.65 ]
32bitエミュレータとかそゆの出せば売れるかも

380 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 09:35:34.79 ]
VB6製品のサポートが継続されているとか調子こいてるバカ。よくみろ。
IDEはすでにVista以降サポートされていない。
開発側ではランタイムは動くみたいだから使ってもいいよ的な考えなのに
カッコつけてガンバッテサポートシテイマス!と言っているのは広報だけ。
実情はVB6のサポートなんか特になにもやってないので
動かなくなったらTHE END
ただそれだけ

381 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 09:39:26.96 ]
>>378
Windows 8でVB6をサポートしていると言い切るなら
IDEの画面に他の画面が重なった後に画面がリペイントされないで消えてしまう問題を早く解決しろよ
Windows XPからずっとこのまま我慢してるんだけど?
この嘘つき広報さんwww

382 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 09:51:37.82 ]
XPからって…
ウインドのリフレッシュが甘いWindowsの持病のほうじゃなく?

383 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 10:26:43.49 ]
>>380
IDEはサポートされない。
ランタイムはサポートされる(Windows 8発売から10年間)。
ただそれだけだ。

384 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 13:10:22.45 ]
でもサードが壊滅状態だからなぁ

385 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 13:25:36.77 ]
だからVB.NETがあるじゃねえか

386 名前:デフォルトの名無しさん [2013/03/29(金) 13:48:23.14 ]
>>382
テーマを使うと下になった画面がペイントされないんだよ。VisualStyleと関係があるみたい。
パフォーマンスを優先せずにWindows 2000みたいな画面で使えば問題は回避できるけど
まあ普通はやらない罠

387 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 13:53:31.38 ]
>>384
GrapeCityなんかは海外のコンポーネントの開発元ではActiveX版を出している製品でも
.NET版しか存在しないようなフリをして売っているよね。
アセンブリとActiveXの両方をサポートするとなると人件費コストが嵩むから
消費者のニーズがないように思わせて、今や.NET一択というアピールをしているけど
皮肉なことにその.ユダヤ人的な高慢なビジネスロジックが、最新の開発環境への移行スピードを
めちゃめちゃ後退させている事にまだ気づいていない。



388 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 14:05:27.82 ]
え?

389 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 17:03:55.83 ]
真昼間からヒマなプロプログラマさんが多いこと

390 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 17:52:57.44 ]
ここはVB土方質問スレ(Ver6.0まで)と言った方がいいのはさておいて
当方人件費コスト0だし、製品版ActiveXなど不要だし
好き勝手に使っているだけだし
そうかWindows 8でもIDEとりあえず動くのか、10nenは
それにまだWindows 9でもつかえる可能性も残ってるし、どれだけお気楽なの?

391 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 18:19:41.23 ]
サードって何?

392 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 19:51:02.15 ]
>>387
同じ製品の英語版を海外サイトから買った方が安い
日本語問題無く使えるし

393 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 19:52:17.54 ]
>>390
VB使いにドカタは少なかろう。
ドカタと言えばJavaだ。

394 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 19:58:38.66 ]
WinHTTP MSXML Tar.libを使って2chブラウザを作ろうと思ふ

395 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 22:22:30.26 ]
ごちゃごちゃいってないで公式で発表してるんだからそれよめよ

Windows Vista、Windows Server 2008、Windows 7、および Windows 8 に対する Visual Basic 6.0 のサポートに関する声明
msdn.microsoft.com/ja-jp/vstudio/ms788708.aspx

Visual Basic チームは、Visual Basic 6.0 アプリケーションが Windows Vista、R2 を含む
Windows Server 2008、Windows 7、およびWindows 8 でも "動作する" よう、その互換性に向けて努力を続けています。



Visual Basic 6.0 IDE
2008 年 4 月 8 日以降、Visual Basic 6.0 IDE はサポートされていません。

Visual Basic 6.0 ランタイム
サポート対象のランタイム ファイル - OS に同梱されているファイル ほとんどの
アプリケーション シナリオで使用される Visual Basic 6.0 ランタイム ファイルの主なものは
Windows Vista、Windows Server 2008、Windows 7、または Windows 8 に同梱されており、
これらの OS の有効期間にわたってサポートされます

396 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 23:04:47.41 ]
問題はVB6のランタイムそのものじゃなくてVB6のアプリ動かす上で使うその他ライブラリが動かないとかなかったっけ?

397 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 23:06:43.99 ]
ごちゃごちゃ言うなカス



398 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 23:15:48.19 ]
会社のコンピュータ一新するなら使ってた業務用アプリも一新して再開発依頼とかすればいいのに、設備投資の一部やろ、VB6のアプリが動くからって使い続けるのがおかしい、
あと古いコンピュータ使い続けるとこもおかしい、普通に新しいマシンにしてアプリなり作り直せば、プログラマ周りの景気が潤うのに

399 名前:デフォルトの名無しさん mailto:sage [2013/03/29(金) 23:35:51.61 ]
制御系なんて数千万〜億だぜ?簡単に変えられねえよ
作った会社も当時の人間を切ってメンテできないし

400 名前:デフォルトの名無しさん mailto:sage [2013/03/30(土) 01:52:40.97 ]
>>398
ひょろっと出来るようなやつは当然そうしてるだろ
そうそう簡単に行かない、移行に年単位が想定されるようなやつの話だよ
ただまあ今だにシステム部門は非生産部門みたいな考え方が生き残ってるのも事実
モノ造り日本も良いけど、その為の下地や周りを整えてるのはシステムだっつー事に気が付いて欲しいやね

ま、現状VB6は動くしこれからもきっとサポートされ続けるよ
ExcelマクロやAccessをこの世から消さない限りね
そしてそれは不可能に近い

401 名前:デフォルトの名無しさん mailto:sage [2013/03/30(土) 02:01:06.19 ]
この世界で一番使われているシステム
それはJavaでもCでももちろんVBでもなく、Excelシステムである
企業個人を問わずありとあらゆる場所に入り込んでブラックボックス化している
MS一番の成功にして一番の頭痛の元である

おかげでしがないVB屋でもなんとか食い繋いで行けてるんですが

402 名前:デフォルトの名無しさん mailto:sage [2013/03/30(土) 02:01:18.86 ]
そもそも作り直しが難しい仕組みにしている
プログラマ自信の問題。

機能も何も増えないのに、作りなおしだけで大金を
払えといって納得できるわけ無いだろう。

VB6からVB.NETへの移行ツールは存在した。
もとからメンテしやすい仕組みで開発し、
移行ツールで対応できない部分を徐々に
書きなおしたりしていれば安く移行できたはずだ。

もVB6からいきなり最新のVB.NETに変更するのではなく、
VB.NETが出た時点で徐々にバージョンを上げていく。
.NET同士は互換性があるのだから一旦VB.NETにしてしまえば、
モジュール単位でC#に移行することだって可能だったはずだ。

アプリ開発会社が安く移行するための
技術力を持っていないからこうなる。

403 名前:デフォルトの名無しさん mailto:sage [2013/03/30(土) 02:45:11.57 ]
作り直しで大金って
設備投資ってそんなもんじゃねえの
大型建設機械だろうがラインロボットだろうが古くなったら一新するだろ
コンピュータやソフトウェアを軽視しすぎなんだよ、古くなったものを一新するのはソフトウェアでも一緒で金がかかるもんであり必要なんだって意識がなさすぎ

404 名前:デフォルトの名無しさん mailto:sage [2013/03/30(土) 02:51:14.77 ]
>>403
だがいきなり全部入れ替えることないだろ。
ソフトウェアもそうしろって言ってんの。

新しい部分と古い部分をうまく融合させ
徐々に移行できる体制を整えろってーの。

405 名前:デフォルトの名無しさん mailto:sage [2013/03/30(土) 10:26:55.57 ]
電子データは劣化しない

406 名前:デフォルトの名無しさん [2013/03/30(土) 10:51:17.92 ]
VB6から.net VBへの移行に関しては、プログラムの組み方とか言う次元以前に難しい問題が山積みなんだよ。
だから移行なんて考えずに、元のソフトを仕様書だと思ってゼロから作り直すのが合理的だって事は
実際に作業をしている人間なら余程のバカでない限りわかるはず。
作り直しが難しい仕組みにしているのが問題とか言ってる奴はたぶん何も知らないで言ってる

                   只野キチガイ

407 名前:デフォルトの名無しさん mailto:sage [2013/03/30(土) 14:12:12.19 ]
ソフト開発で一番工数がかかるのが設計だから
VB6から.netへの移植なんてほとんど工数かからない。



408 名前:デフォルトの名無しさん mailto:sage [2013/03/30(土) 14:57:22.64 ]
そうだよなVBなんていじってる奴は馬鹿

409 名前:デフォルトの名無しさん [2013/03/30(土) 16:33:40.82 ]
おまえら働けよ まったく

410 名前:デフォルトの名無しさん mailto:sage [2013/03/30(土) 18:45:00.19 ]
同じ仕様で移行するケースなんてレアじゃね?

411 名前:デフォルトの名無しさん mailto:sage [2013/03/30(土) 19:38:56.38 ]
不便だと感じてて改善してほしいとこや
不要な機能を外してほしいとか
仕様が変わるってことか?

412 名前:デフォルトの名無しさん mailto:sage [2013/03/30(土) 21:07:08.50 ]
集まるなよVB6時代の老兵どもw

413 名前:デフォルトの名無しさん mailto:sage [2013/03/30(土) 21:12:40.11 ]
WinHTTP MSXML Tar.libを使って2chブラウザを作ろうと思ふ

414 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 01:31:42.57 ]
どっかで見かけた内容だな

415 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 02:57:16.89 ]
逆に全く同じにって言われるとそれはそれで困ったりとか
基本的な仕様が変わりまくってるからな
いや.NETの方がしっかり決まってるんだけども。
VB6でアバウトにスルーしてた所が軒並みエラー吐くようになって死ねる

>>407
まあ、そういう感覚だよな。
でもほら、VBなんて昔から増改築が繰り返されて今に至るようなもんが多いから
昔は結構フリーダムで、開発者の趣味と気分で仕様決めてたりとか
設計書の類なんて当然無くて、当時の開発者の頭の中にしか仕様が残って無いという
移植なんてまともに出来るはずも無く・・・

416 名前:デフォルトの名無しさん mailto:sage [2013/04/02(火) 08:47:03.60 ]
どんな糞野郎のコーディングでも一見して仕様が見えてくるようになるには20年はかかる
青二才はまだここに書き込むのが早いってことかもな

417 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 02:08:50.45 ]
>>407

> ソフト開発で一番工数がかかるのが設計だから

そうとは限らない。新規開発であれば確かに一番工数がかかるのは設計だが
すでに開発済みのシステムを修正する場合には当てはまらない。

設計は追加分だけやれば良い。
しかしコードを書く場合、修正の影響を考えないといけない。

コードを見ないとわからないような、想定外の箇所に影響があるかもしれないし
修正の前に、動作しているコードを読んで動きをきちんと把握しないといけない。
コードの詳細な動きのドキュメントはない(あったとしてもコードを読んだほうが速いんだが)

「一番工数がかかるのが設計」が成り立つのは新規開発であって
修正の場合は、設計は減って逆にプログラミングに工数がかかる。

> VB6から.netへの移植なんてほとんど工数かからない。

これは典型的な修正。設計は同じでいいならば工数は0だが
だからといってプログラミングが0以下になるわけないのは明らかでしょ?

設計は出来上がってる。その後取りうる方針は二つ
1.VB6のコードを捨て、設計を見てVB.NET版を作り上げる
2.時間をかけてVB6のコードを解析して細かい動作を把握してから、理解した内容と設計VB.NET版を作る。

どちらが早いかなんて即答できないよね?

新規開発の感覚で、修正の工数を考えてはいけない。



418 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 04:25:27.94 ]
リプレース案件をやったことのない素人のたわごと

419 名前:デフォルトの名無しさん [2013/04/04(木) 11:18:44.92 ]
>>418
でどうだったのか示さないと
これも只のたわごと

420 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 12:43:07.57 ]
>>419
> 設計は同じでいいならば工数は0

というのが、たいていの場合は誤り。

まず、要件定義書が無い場合がある。あっても、まともなものじゃ無い場合がある。
詳細設計書が無い場合がある。この場合は設計内容をコードから演繹する必要がある。
要件定義書が無い場合は、要件をコードから演繹する必要がある。

そして、コードを調査した結果、要件と異なる内容の実装があったりする。
どちらが正しいかを調べるのが手間。

バグらしきコードが見つかる。
バグかどうかを調査するのが手間。

421 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 00:16:09.30 ]
じゃあ設計書があれって正しければ、
設計の工数は0でいいね?

422 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 01:08:45.91 ]
だから、設計工数がゼロになるなんてことは、現実世界ではほとんどないって
言ってるでしょ。
実際にコードを書き始めるまでに、かなりの工数が必要になるのが普通。

真の要求と完全にマッチした要求仕様書が存在し、
その要求仕様に完全にマッチした要件定義がなされ、
それを完全に記述した要件定義書があり、
それを完全に実現する詳細設計書があり、
されを完全に実現するバグやまぎれのないコードが書かれており、
完全な自動テストが存在し、
そして今実際に動作させることはできるのなら、かなりの工数は削減できる。

423 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 01:20:11.31 ]
DBのフロントエンドレベルの糞業務アプリの移行なら、設計なんかいらないね。

424 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 03:56:50.81 ]
0の状態から設計を作るのと
既存のコードを解析して設計を作る。

どちらが難しくて時間がかかるかといえば明らかに後者だよ。
前者はコード読めなくてもいいが、
後者はプログラマにしかできない作業。

リプレースが新規開発よりも工数がかかるのは
火を見るよりも明らか。

425 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 07:15:36.77 ]
それはリプレースに完璧を求めるからだよ
リプレースでも新規なみのバグを許容すればほとんど工数が
発生しなくて済む

426 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 10:06:12.15 ]
いつまでVB6と関係無い話をしたら満足するのやら

427 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 13:26:11.40 ]
VB6の道はすべてに通ずる
馬鹿はおおなしくしてろ



428 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 13:58:16.96 ]
もっと落ち着いてタイプしましょう。

429 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 14:09:28.94 ]
脊髄がすぐに反射してしまわないように

430 名前:デフォルトの名無しさん [2013/04/05(金) 14:09:59.78 ]
>>428
クスクス…

431 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 22:16:49.68 ]
>>425
君の会社は、バグ修正をただでやってるのだろうし、
バグ修正期間は工数に含めないのかもしれないが、

一般的には工数にはバグを直す期間も含みます。
ただでバグ修正やってるから工数にならないなんて屁理屈だよ。

最初に高い金額+短い期間(バグ・機能不足あり)で開発して、その期間のみを
工数と考え、その後のバグ修正をいう開発は保守として工数に含めなかったら
そりゃお前の会社の定義上の工数は短いだろうねw

432 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 02:27:48.80 ]
ほんとそういうのやめて欲しいよね
食い散らかされた後始末を保守という名目でやらされるこっちの身にもなれってんだ
業務の合間に足りない仕様書書き起こしたりとか何やってんの俺状態
バグの根本対応どうするとかなんで俺が考えてるのよ明日も出勤だよ
追加料金俺に払えよもしくは接待してくれよ
なんとか総研みたいなとこはもう絶対信用しねぇ

433 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 03:06:51.54 ]
>>401
日本の99%の会社は中小企業です。
中小企業の人はExcelが大好きです。

「基幹システム」というものを知りませんから。

もう、何から何までExcelでやります。
Excelの関数が大好きです。
Excelほど使い勝手の良いソフトはありません。
関数を使いこなせると尊敬されます。

VBAなんて使った日にゃもう、
こんなんばっかり作ってるから仕事がはかどらないんだ
と言われるぐらい尊敬されます。

基幹システムを導入しようにも、Excelと連携できるように
しろとか、わけのわからない事を言われます。
Excelのフォーマットを勝手に変更された日にゃもう。

434 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 03:27:42.05 ]
>>431
バグを許容なんだから、バグが出ても直さないんだろ

旧システムにあったバグは既知だろうが潜在的であろうが、新システムでもそのまま同じ
そういう移行も無い事はないが、まあレアケース
100%同じ仕様でのシステム移行も、まああんまりない。どうせ予算かかるならいろいろ変えたり直したりするのが普通
前提をそろえないで移行の工数がどうことか意味ない議論

435 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 03:31:25.76 ]
一応、俺の関わったVB6製品だが、
なるべく特殊な事をしないようにしてるので、
windows7でも動いてます。ラッキーと思います。

標準ランタイムだけで済むように作ってるので。
もう、自作コントロールとかは無し。
レジストリ操作も無し。

436 名前:435 mailto:sage [2013/04/06(土) 03:42:49.46 ]
>>434
昔、FORTANで書かれたシステムをC言語のシステムに
更新する案件に関わった。

その、FORTRANで作ったのと同じように開発できる
C言語のフレームワークが用意されててな。

100%同じ仕様でのシステム移行で、
どーしてもわからない、1つの関数に3000ステップ超詰め込んで
しかもバグありで放置したまま使われていたシステム。

なので、バグの再現も100%のまま納品した。

ちなみに、GOTOだけは使わないで済むよう、ロジックは直した。

437 名前:435 mailto:sage [2013/04/06(土) 03:52:59.86 ]
>>333
例えば、データベースのマスタのデータをソフト内にキャッシュするとして、
それを配列でキャッシュするんよ。

で、検索かける時は、配列をforでナメていく。
場合によってはむっちゃ時間かかる。

VB6のCollectionは、JavaでいうListとHashMapが合わさったような
仕組みなので、キーでも検索できるので便利といえば便利なのだが、
>>332の指摘通り、Javaでいうような静的型付けができないので、
ローカル変数でしか用いないし、専用Collectionを自作すれば、
>>332の指摘通り、パッケージの仕組みも無いのに、やたらめったら
クラスの数が増えるので、自作Collectionは用意してない。

で、データベースのデータをローカルにキャッシュするなら、
メソッド内にStaticでCollectionを用意して、キャッシュすればいい事に
後になって気づいた。まあ、Forでナメていっても、そんなに時間のかかる
検索は無いんだけどね。



438 名前:435 mailto:sage [2013/04/06(土) 04:01:38.82 ]
尚、俺がなぜVB6の案件に関わったかというと、
会社の偉い人が教育目的を含めて、VB6でやらせたようだ。
VB6をやっていれば、VB.NETでもわかるだろうと。

もうこれが本当に余計なお世話で、俺はさんざんJavaやってきたので
むしろ.NET使う方が、OOPに対応できて便利なのだが、
言語の制御文の書き方とかの見た目が似ているぐらいでしか
判断できない素人の悲しさで、無理やりVB6で作らされた。

で、今になって、windows7や8が出てきて、それが足かせになるという
危機感を抱いてはるようです。

439 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 07:38:46.93 ]
自分語りはブログでやって

440 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 09:43:34.90 ]
そんなに移行したくないならずっとVB6をやってればいいさw

441 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 13:38:34.06 ]
なんというか動きの悪いプログラムがあって
Redim Preserveを多用してあるんだが、
このせいと思うか?

これってC言語でいうreallocだよな?

442 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 13:44:44.28 ]
>>441
馬鹿だろお前

443 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 13:45:02.16 ]
それ俺が作ったやつかも

444 名前:桃白白 mailto:sage [2013/04/06(土) 16:37:31.03 ]
>>441
桃白白はプログラムの動きが悪いことがReDim Preserveのせいだとは思わない。
よほどでっかい配列を確保してたり多用の程度が常識の範疇を逸脱してるといっても
やぶさかではないというのでないかぎり問題ない。

445 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 17:06:55.27 ]
VBAスレと間違えたかと一瞬混乱したわw
タオパイさんどーしたんすかw

446 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 19:22:48.05 ]
荒れる予感w

447 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 19:45:32.53 ]
>>441
推測なんかより、どこで時間が掛かっているのか調査するほうが先。



448 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 20:05:57.42 ]
>>444
Redim Preserveすると、C言語で言うreallocみたいに
ヒープ確保のサイズが変わるけど、メモリのフラグメント
を起こすかと思ったんだ。
連続した領域を確保できるとは限らないでしょ。
新規にRedimするだけなら連続した領域を確保しやすい
とは思う。Preserveみたいに、内容を保持したままなら
プログラマからはあたかも配列がキレイに並んでいる
かに見えて、実際は離散したメモリ空間を確保してるかも
しれない、とね。

それぞれの配列の先頭アドレスを調べられたら
フラグメント起こしてるかどうかわかりそうなのに。

449 名前:桃白白 mailto:sage [2013/04/06(土) 20:17:30.63 ]
>>448
動きが悪いこととフラグメントが関係してるだなんてそんなこと知らないわよ。
桃白白はそういう心境だけど、配列の先頭アドレスを取得するのはこれでいけるんじゃないか。

Visual Basic では変数のアドレスを取得するには、方法
support.microsoft.com/kb/199824/ja

450 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 20:21:11.97 ]
redim preserve は新しい配列を作ってコピーしてるよ
だから1行ずつ増やしていくのは遅いよ

451 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 20:25:35.82 ]
何言ってんだこいつ。

フラグメンテーションは動的なメモリの確保と解放によって起こる。
つまりそんなものはありふれた現象であって、もしそんな根幹部分に不具合があるのなら
とっくに修正されているだろう。

っていうか、何かもう絵に書いたような典型的なVBerだな。
無能なVBerはてめえのコードの問題を棚に上げて、すぐシステム側の問題だと
何の根拠もなく思い込む。

ついでに言っておけば、配列の要素がメモリ上に不連続に配置されるように
実装されてる言語なんて聞いたことないよw

そんな実装、実行効率が悪くて使えたものじゃない

452 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 20:37:11.99 ]
>>441がRedim Preservの話をしたいのか動きの悪いプログラムを修正したいのか
さっぱりわからん展開だな。

453 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 21:36:22.13 ]
まあ、コードも出さずに遅い原因知りたいならエスパースレいってくれと

454 名前:デフォルトの名無しさん [2013/04/06(土) 22:15:11.41 ]
>>441
地道にデバグをしろ。

455 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 00:22:09.68 ]
1行ずつ増やしていくのが遅ければ、100行でいけよw

456 名前:デフォルトの名無しさん mailto:sage [2013/04/07(日) 23:58:31.36 ]
>>451
>ついでに言っておけば、配列の要素がメモリ上に不連続に配置されるように
>実装されてる言語なんて聞いたことないよw

441の言う、Cのreallocって、まさに不連続に配置されてしまう仕組みになってる。
mallocはヒープから確保するけど、reallocって確保したヒープのサイズを
変えるけど、それが連続した領域になるとは限らず、フラグメント化する。

ついでに言うと、VB6でも、文字列の連結をすると、おそらくは連続した
領域で連結するとは限らないはず。
だから、前に出てた論破くんの話題に戻すけど、
連続した領域を確保して、随時MIDステートメントで置き換えていく
やり方が高速で、Stringを & でどんどん連結していくとすげー遅い。

文字列を&で連結していくと、連続した領域を確保しているとは限らない
っていうのが正解かな。

457 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 00:07:14.31 ]
>>456
連続してないと、Cで書いたライブラリとかWin32APIとやり取り出来ないと思うんだが、君のそれどこ情報?



458 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 00:10:43.45 ]
へぇ、C言語ではポインタ操作の必要性から
配列はメモリ上に連続していることが保証されているのか

reallocは連続して確保できない場合
他の領域にコピーすることで連続であることを保証しているんだね。
勉強になった。

459 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 00:15:21.08 ]
reallocでメモリのフラグメントが起こるのは確かだが、それはバッファが分断されるからじゃないよ。
それとVBAの文字列領域も連続してると思うし、文字列を&で結合させると遅いのは、オブジェクトを再生産するからでは?

460 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 00:15:41.74 ]
c言語のreallocって不連続になるっけ?

461 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 00:17:35.31 ]
なるわけないっしょw

確保されたメモリが不連続だったら
Cのポインタ=メモリアドレスを
順番にたどれなくなる。

常識だよそんなのwww

462 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 00:19:24.99 ]
reallocでフラグメント化するのは、ヒープ全体が、だ。
よくもまあ適当な事ばかりを長文でレスしようと思ったもんだ。

463 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 00:37:40.75 ]
なんで>>456は適当なこと言うの?

464 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 00:43:24.07 ]
夜釣り

465 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 01:57:07.06 ]
reallocした時に、連続した領域が確保できなかったらどうなるの?

466 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 02:06:12.27 ]
>>465
C言語なら俺に聞け(入門編)Part 113
toro.2ch.net/test/read.cgi/tech/1362824689/

467 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 07:10:12.42 ]
>>465
null返すんじゃね?



468 名前:デフォルトの名無しさん mailto:sage [2013/04/09(火) 00:51:34.97 ]
またCの話題か

469 名前:デフォルトの名無しさん [2013/04/15(月) 17:34:48.32 ]
そろそろVB6を休ませてあげよう
ttp://el.jibun.atmarkit.co.jp/ahf/2011/08/vb6-7abc.html






[ 続きを読む ] / [ 携帯版 ]

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

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