<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>VB6</title><link>http://blogs.wankuma.com/chaosgate/category/2066.aspx</link><description>VB6関係 備忘録的にまとめます。</description><managingEditor>どんぐま</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>どんぐま</dc:creator><title>【VB6】VB6のランタイムがWindows 7でもサポートされるようです</title><link>http://blogs.wankuma.com/chaosgate/archive/2009/02/26/168848.aspx</link><pubDate>Thu, 26 Feb 2009 12:51:00 GMT</pubDate><guid>http://blogs.wankuma.com/chaosgate/archive/2009/02/26/168848.aspx</guid><wfw:comment>http://blogs.wankuma.com/chaosgate/comments/168848.aspx</wfw:comment><comments>http://blogs.wankuma.com/chaosgate/archive/2009/02/26/168848.aspx#Feedback</comments><slash:comments>228</slash:comments><wfw:commentRss>http://blogs.wankuma.com/chaosgate/comments/commentRss/168848.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/chaosgate/services/trackbacks/168848.aspx</trackback:ping><description>&lt;p&gt;
&lt;a href="http://msdn.microsoft.com/en-us/vbrun/ms788708.aspx" target="_blank"&gt;Support Statement for Visual Basic 6.0 on Windows Vista and Windows Server 2008&lt;/a&gt;&lt;br /&gt;
サードパーティのコントロールはサポート範囲外なので、状況としてはあまり変わらないかも。&lt;br /&gt;
頑張って.NETに対応するとか、MED-VとかRemote Appとかで逃げるとか？
&lt;/p&gt;
&lt;p&gt;
ネタ元&lt;br /&gt;
&amp;nbsp;&amp;nbsp;Andrew Coates ::: MSFT : &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://blogs.msdn.com/acoat/archive/2009/02/26/vb6-runtime-supported-in-windows-7.aspx" target="_blank"&gt;VB6 Runtime Supported in Windows 7&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/chaosgate/aggbug/168848.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>どんぐま</dc:creator><title>【VB6】MZ-Tools 3.0 for Visual Basic 6.0, 5.0 and VBA</title><link>http://blogs.wankuma.com/chaosgate/archive/2009/01/18/166426.aspx</link><pubDate>Sun, 18 Jan 2009 23:44:00 GMT</pubDate><guid>http://blogs.wankuma.com/chaosgate/archive/2009/01/18/166426.aspx</guid><wfw:comment>http://blogs.wankuma.com/chaosgate/comments/166426.aspx</wfw:comment><comments>http://blogs.wankuma.com/chaosgate/archive/2009/01/18/166426.aspx#Feedback</comments><slash:comments>1276</slash:comments><wfw:commentRss>http://blogs.wankuma.com/chaosgate/comments/commentRss/166426.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/chaosgate/services/trackbacks/166426.aspx</trackback:ping><description>&lt;p&gt; 先日よりVB6のアプリケーションの改修をやってまして、&lt;br /&gt; 仕様の解析も進まないし、コードの解析もうまくいかず凹んでました。 &lt;/p&gt; &lt;p&gt; 実行時の流れを手作業でUMLのシーケンス図(&lt;a href="#1"&gt;*1&lt;/a&gt;)にしたりしていたのですが、&lt;br /&gt; コードがピー（自主規制）すぎて軽く目まいを覚えてしまいました。 &lt;/p&gt; &lt;p&gt; あまりにも効率がわるいので、ツール(*2)を探していたところ、&lt;br /&gt; &lt;a href="http://www.mztools.com/v3/mztools3.aspx" target="_blank"&gt;MZ-Tools 3.0&lt;/a&gt;というものに出会いました。 &lt;/p&gt; &lt;p&gt; インストール後、Visual Studioを起動すると利用できるようになります。&lt;br /&gt; 使い方に関しては&lt;a href="http://www.mztools.com/v3/onlinehelp/index.html" target="_blank"&gt;MZ-Tools 3.0 Help&lt;/a&gt;(英語)を読んでください。&lt;br /&gt; このツールは大きく分けて、下記の６つの機能を提供してくれます。 &lt;ol&gt; &lt;li&gt;Features to Find Code Faster(3)&lt;/li&gt; &lt;li&gt;Features to Code Faster(15)&lt;/li&gt; &lt;li&gt;Features to Design Faster(5)&lt;/li&gt; &lt;li&gt;Features to Generate Documentation(2)&lt;/li&gt; &lt;li&gt;Features to Ensure the Quality(4)&lt;/li&gt; &lt;li&gt;Features to Enhance your Visual Basic Experience(15)&lt;/li&gt; &lt;/ol&gt; &lt;/p&gt; &lt;p&gt; &lt;a href="http://www.mztools.com/v3/onlinehelp/index.html?html_procedure_callers.htm" target="_blank"&gt;Procedure Callers&lt;/a&gt;機能を使って、手作業で行っていた関数の呼び出しなどの調査をしました。&lt;br /&gt; これは選択したプロシージャの呼び出し元を調査できます。&lt;br /&gt; これにより、変更に対する影響範囲の特定の効率もあがるように思います。&lt;br /&gt; &lt;/p&gt; &lt;p&gt; また、&lt;a href="http://www.mztools.com/v3/onlinehelp/index.html?html_review_source_code.htm" target="_blank"&gt;Review Source Code&lt;/a&gt;機能を使って、宣言のみで使っていないものをクリーンアップすることができました。&lt;br /&gt; ちなみに、今回のプロジェクトでは200以上の宣言のみで使用されていない定数、変数、プロシージャなどが発見されました。（汗&lt;br /&gt; ただし、テスト工数などを考え、すでにリリースされている機能に関しては、今回は修正しませんでした。&lt;br /&gt; （リファクタリングがサクサクできる環境であれば、違う結論を出していたかもしれませんが。。。） &lt;/p&gt; &lt;p&gt; あとは&lt;a href="http://www.mztools.com/v3/onlinehelp/index.html?html_find_in_all_projects.htm" target="_blank"&gt;Find In All Projects&lt;/a&gt;機能を使って、検索結果の一覧を取得、コードの修正を行ったりしました。&lt;br /&gt; この機能はVS.NET では標準でありますが、VB6にはない機能です。 &lt;/p&gt; &lt;p&gt; 上記のような事をツールでできるようになった時間を使って、以下のような事もやってみました。&lt;br /&gt; （自動テストができれば、テストの工数ももっと削減できたかもしれません） &lt;br /&gt; &lt;ul&gt; &lt;li&gt;メソッドの抽出&lt;/li&gt; &lt;li&gt;一時変数のインライン化&lt;/li&gt; &lt;li&gt;問い合わせによる一時変数の置き換え&lt;/li&gt; &lt;li&gt;条件記述の分解&lt;/li&gt; &lt;li&gt;条件記述の統合&lt;/li&gt; &lt;li&gt;重複した条件記述の断片の統合&lt;/li&gt; &lt;li&gt;ガード節による入れ子条件記述の置き換え&lt;/li&gt; &lt;/ul&gt; &lt;/p&gt; &lt;p&gt; VB6でアプリを作成していた頃に、このツールに出会っていればと後悔するようなツールでした。&lt;br /&gt; &lt;/p&gt; &lt;p&gt; &lt;a name="#1"&gt;*1&lt;/a&gt;：オブジェクト間の通信を、時間を基準に表現するもの。&lt;br /&gt; 本来の使い方ではないのかもしれませんが、関数の呼び出しなどを見える化するために利用しました。&lt;br /&gt; &lt;a name="#2"&gt;*2&lt;/a&gt;：予算など色々な制限があるので無償で利用できるのが条件でした。（汗&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/chaosgate/aggbug/166426.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>どんぐま</dc:creator><title>【VB6】vbUnit3 Basic インストール</title><link>http://blogs.wankuma.com/chaosgate/archive/2009/01/06/165755.aspx</link><pubDate>Tue, 06 Jan 2009 23:59:00 GMT</pubDate><guid>http://blogs.wankuma.com/chaosgate/archive/2009/01/06/165755.aspx</guid><wfw:comment>http://blogs.wankuma.com/chaosgate/comments/165755.aspx</wfw:comment><comments>http://blogs.wankuma.com/chaosgate/archive/2009/01/06/165755.aspx#Feedback</comments><slash:comments>108</slash:comments><wfw:commentRss>http://blogs.wankuma.com/chaosgate/comments/commentRss/165755.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/chaosgate/services/trackbacks/165755.aspx</trackback:ping><description>&lt;p&gt; &lt;a href="http://www.vbunit.com/vbUnit3.07.02.Basic.zip" target="_blank"&gt;vbUnit3 Basic&lt;/a&gt;をダウンロード、インストールしました。 &lt;/p&gt; &lt;p&gt; &lt;a href="http://www.vector.co.jp/soft/win95/prog/se216353.html" target="_blank"&gt;vbUnit3 Basic Support Tools&lt;/a&gt;もダウンロードしたのですが、setup.exeを実行したとたん実行時エラー。&lt;br /&gt; 本日、これにて中断。。。orz &lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/chaosgate/aggbug/165755.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>どんぐま</dc:creator><title>【VB6】リファクタリングできないかな？</title><link>http://blogs.wankuma.com/chaosgate/archive/2009/01/05/165648.aspx</link><pubDate>Mon, 05 Jan 2009 23:57:00 GMT</pubDate><guid>http://blogs.wankuma.com/chaosgate/archive/2009/01/05/165648.aspx</guid><wfw:comment>http://blogs.wankuma.com/chaosgate/comments/165648.aspx</wfw:comment><comments>http://blogs.wankuma.com/chaosgate/archive/2009/01/05/165648.aspx#Feedback</comments><slash:comments>200</slash:comments><wfw:commentRss>http://blogs.wankuma.com/chaosgate/comments/commentRss/165648.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/chaosgate/services/trackbacks/165648.aspx</trackback:ping><description>&lt;p&gt; VB6で作られたアプリを改修するハメになりまして、&lt;br /&gt; ソースを眺めているのですが、これがナカナカ手強くて。。。 &lt;/p&gt; &lt;p&gt; 至る所に重複するコードや、冗長なコード、Switch文などがありまして、&lt;br /&gt; いっそリファクタリングできないかと思っているのですが、&lt;br /&gt; VB6にはVS2008のように単体テストができるツールが標準装備されてませんでしたよね？ &lt;/p&gt; &lt;p&gt; VB6ではDebug.Assertするのが一般的なのかな？&lt;br /&gt; VB6でリファクタリングするならコレがオススメ！みたいなのがあれば、ご一報ください。m(_ _)m&lt;br /&gt; &lt;/p&gt; &lt;p&gt; ちなみに、&lt;a href="http://www.vbunit.com/" target="_blank"&gt;vbUnit3&lt;/a&gt;なるものがあるようです。&lt;br /&gt; インストールして、使い方を覚えてみようかな。。。 &lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/chaosgate/aggbug/165648.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>