プログラム

125件の投稿

VB6のデバグ

ACCESSがらみのトラブルシューティングの仕事が入ってきました。
一つは難なく解決しましたが、
ACCESSプロジェクトでSQLのパフォーマンスを改善する仕事には手こずっています。
ACCESSではADOを使っています。

考えてみれば、私はADOを余り使ったことがありませんでした。
私は過去の仕事をすべてHDの一箇所に保存して、いつでもみることができるようにしています。
困ったときに過去の工夫を探すことで、沢山の時間短縮をしてきました。
ADOでは過去にどんな仕事をしたか、このライブラリを調べたのですが見つかりません。
ADOはあまり記憶に残っていないし、どちらにしても大した仕事をしていないのだと思います。

DAOは結構使ったのですが、ADOを少しやって.NETに移行したと思います。
そんなわけで、不慣れなADOとSQL(SQL Server)のチューニングの仕事、
しかも他人が書いたプログラムのトラブルシューティングには時間が掛かっています。

現象としては、ACCESSプロジェクトである検索をすると、
しばらく待ってなにも言わず作業が終わるというのです。
調べてみると5000行程度の出力に15分近くかかってタイムアウトしていることが分かりました。
ロジックは正しいのですが、SQL一発でやろうとしたことに無理があると思います。

SQLを改善したり、クライアント側でADOのプログラムを書いたり、ストアドプロシージャを書き換えたり、
もう3日取り掛かっていますが思ったような成果がありません。

本日は、中間結果を一度SQLのワークテーブルに書き出す方法をトライしようと思います。
うまくいくことを願っています。

Refactor Pro!

我が家の朝顔

退院するとDeveloper Express社からメールが来ていました。
以下のようにVS2008をアンインストールしろというものです。

1) Completely uninstall DXperience.
2) Completely uninstall VS 2008.
3) Ensure that you’re running under an account with administrative privileges and install VS 2008 and DXperience v2010 vol 1.5 back.

VSのアドインの不調でVS本体をアンインストールしろはないだろう。
それによってどれだけ深刻なトラブルが起きるか考えたことがあるのか。
当然受け入れられません。

レジストリの中に以下のkeyが2ヶ所ありました。これを削除しました。
‘CodeRush;C:ProgramDataApplicationDataMicrosoftMSEnvSharedAddinsDevExpressToolsOrcas.Addin’,

また、VS2010用Refactor=[Refactor Pro!]はアドインではないようなので、
‘C:ProgramDataMicrosoftMSEnvSharedAddinsDevExpressToolsOrcas.Addin’
も削除。

これで現象としての不具合はなくなりました。
すなわち、VS2008起動時に変なメッセージは出なくなりました。

現状 [Refactor Pro!]はVS2010とVS2008で動作しています。
が、まったくどこからも使われていないVB2008用Refactorもインストールされたままです。

以前これを削除すると不具合が生じたのでそのままにしておくことにしました。

[Refactor Pro!]をまだ十分使っていませんが、
無料のVB2008用Refactorに比べれば機能が格段に多くなっています。
それにC#等沢山の言語に対応しているようです。
今後のプログラム開発に役立ってくれるだろうと楽しみにしています。

このソフトは$99で現在円高なので9000円弱で購入しました。
ユーザに対するライセンスなので自分で使う分にはどこでも使うことができます。

ついでですが、以前VS2010付属のInstallShieldに期待していると書きましたが、
試しましたところプロダクトキーのサポートがないようで、
企業内のインストールには問題ないかもしれませんが、市販パッケージ用にはつかえそうにありません。

インストールプログラムは今後多分昨年購入したInstallAwareを使います。
ただしWIXにも挑戦し何とかものにしたいと思います。

Refactor!

VB2008でDeveloper Express社の無料のRefactorを使っていました。
これで重宝しているのは、メソッドの[パラメータ並びのリオーダー]と、
変数とその初期化を1文で書いたり逆をしたり、変数の位置を実行文の近くに移動したり逆をしたり、
プロパティの作成をサポートしたりとかです。

VSプロパーでも[名前の変更]というのがあります。
このチョッとして機能はとてもありがたいです。
名前が不統一のままで開発を進めると、後で自分でつけた名前に苛立ち、変えたくなります。

[名前の変更]は、コントロール名でも、クラス名でも、メソッド名でも、メソッドのパラメータ名でも
一箇所で修正すればスコープを認識して関連する箇所すべてに亘って変更してくれます。
定期的に使ってプロジェクト全体での名前の統一性に気をつけています。

これまでDeveloper ExpressではVB用に無料の版をだしていたのでずっとこれを使ってきたのですが、
VS2010を導入したのを機会に正規版を購入しました。

私のメインのコンピュータには、VS2008とVS2010がインストールされています。
VB2008では無償のRefactorが動いていたのですが、
有償のRefactorをインストールするとおかしくなりました。
VS2010では新Refactorが問題なく動作するのですが、VB2008を立ち上げるとエラーメッセージが出ます。
但し、VB2008でも新Refoctorが動作します。

VB2008用のRefactorをアンインストールしたら、今度はVB2008でまったくRefactorのアドインが読み込めません。
すなわち、VB2008では全くRefactorが使えなくなりました。

開発元のDeveloper Express社に問い合わせましたが、埒が明きません。

再度無償版をインストールすると、VB2008ではOK。
今度はVS2010で全くRefactorが表示されなくなりました。

こちらをたてればあちらがたたず。

Developer Expressの回答待ちです。

Action Pack

注文していたAction Packが届きました。

やるべき仕事があるので、すぐ飛びつくことができませんが、
Visual Sudio 2010をVistaに、Expression WebをXPにインストールしました。

Visual Studio 2010は画面の「雰囲気」が一変しました。
VS2008のプロジェクトは、自動アップデートで問題なく動作するようです。
私はWPFを全くしらないのですが、これがWPFなのでしょうか。
デザイン的には暗い配色で、ヘルプの構成やデザインも変わりました。
デザインは好き嫌いの分かれるところです。
内容はまだよく分かりません。
VBの継続行でアンダースコアを使ってきましたが一部不要になります。
ざっといえば、継続が分かる部分で、例えばメソッド定義でカンマ以下を[C]のように次行に黙って持っていってもよくなります。

VB2008で気に入っているのは、LINQと拡張メソッドです。
この当りがVS2010でどのように進歩したのか、
また添付のInstallShield Limited Editionが使い物になるのか期待しています。

一方、Expression Webはマクロメディア(現在はアドビ)のDreamWeaverやFireworks等に対応していると思います。
少し触っただけですが、私が所有しているDreamWeaver MXに比べて、機能が豊富になっていると感じました。
これも全体が暗い感じのデザインで評価は分かれると思います。
もう一つ感じたのは、「もしかして[重い]かもしれない」ということです。

どちらにしても、今の仕事の片をつけてから、使って行きたいと思います。
楽しみにしています。

開発環境

開発者にとって開発環境を整えるのは、昨今経済的に大きな負担です。

Windowsの場合MSDNを購入するのが最適ですが、これが安くはありません。
開発者が多数であれば全員にそろえるのは会社にとっては頭の痛い問題です。
開発ツールとしては、MSDNだけでなくたとえばSpreadやDreamweaverやPhotoshop
更にはインストールツールの費用もかさみます。

Java環境ではNetBeansやEclipseが無料ですので、
できればJavaで仕事をしたいと考える開発者もいるかもしれません。

Windowsの世界では、Expressエディションが無料ですから、
これはこれで助かります。
SharpDevelopはマイクロソフトが提供するオープンソースで、
これもなかなかしっかりしています。
特にC#-VBのコンバーターが付いていますので、いつか使ってみたいと思います。

インストールツールはWixを注目しています。
これも確かマイクロソフトがベースを提供しています。
インストール条件をXMLで記述しますので、
とても透過性に優れていて好感をもっていますが、
何より情報が少ないのが残念です。
現在の欠点としてプレインストール(SQLサーバー等)の設定が出来ないと思いますが、
Visual Studioとの組み合わせで解決策があるのではないかと期待しています。
VSのインストールプロジェクトで唯一不満なのは、
インストールの途中でプロダクトIDの入力を求める部分の作りで、
公開されている手法は単純すぎるので、プロテクトになっていないのです。
この点が解消されるのであれば、VSのインストールプロジェクトだけで済ましたいくらいです。

さて、私自身数年間MSDNを使っていたのですが、
直近ではMSDNではなくVisual Studioのみ購入しで仕事をしてきました。

そろそろVS2010を使いたくてMSDNの購入を検討していたのですが、
マイクロソフトのAction Packに開発環境が付属していることが分かりました。

Action Packは主に販促用のパッケージだと思いますが、
Development バージョンにはOSやVSの最新版がついています。
とりあえず開発で必要なすべてのツールがそろっているようで、
価格も求めやすく設定されています。
早速注文しました。

FrontPageの後継でしょうか、Expression WebというWeb開発用のツールもあるようです。
わたしはもっぱらDreamweaverを使ってきましたが、
古くなったのでExpression Webを試してみるつもりです。