Delphi2010によるWin7対応

2010年11月29日

XPからWin7への移行と言う問題よりも長年アップグレードされていない古いシステムの多くがSJISの頃のDelphiで作成されていると思います、Winodwsで難しい漢字等がIMEで変換できるにもかかわらず入力できない文字はUnicodeの文字であり、SJISのシステムでは入力は出来ません、又、DB等も対応していないと文字化したりトラブルの原因となる場合も御座います。

一般的にはWin7対応に特に難しい部分はないのですが、外部のコンポーネントが未対応となったり、上でも書きましたようにUnicodeへの対応から始めるとなると大幅なプログラムの見直しが必要となる場合が多いです、Unicodeへの対応では単に見た目の変化以上に内部的に細かい修正が必要で独自開発やフリーのコンポーネントを利用している場合のソースの修正でかなり時間を取られます。

主にコンポーネントに関してUnicode対応で時間を取られる場合が多いです、当方でも以前から利用しているコンポーネントにlibpq.dllのラッパーコンポーネントでPQCompoと言うPostgreSQL用のVCLコンポーネントがあるのですが、作者の方のページも長年更新されておらず、私も独自に修正した部分がある為にDelphi2010への対応では少々てこずりました。

こういったプログラム作業における工数は実際には目に見えにくい工数でお客様からも何故こんなに工数がかかるのか?と疑問視される場合もあります、フルスクラッチで作られたシステムの修正はweb系の仕事と比較して1000倍以上大変な手間がかかり利益率で言えば全然儲かっていないと思うのですがその上に風当たりも強いとなると今後いよいよ仕事としては難しいです、ただ、今でもweb系の業務システムと比較すると比較にならないほどの安定性があると思いますのでその辺りのバランスが難しいですね。

DelphiのUnicodeに関するエンバカデロの資料

Delphiに限った話ではなくアップグレードの間隔は計画的にシステムの見直しを行わないと大変な労力と費用がかかります、先日お客様とお話をした時にも、未来永劫つかえないのかといった話が冗談半分で出ましたが、社会の仕組みも何もかもが変化し続ける中では4年~5年で一度見直しをする覚悟が必要なのでしょう。