Delphi2005でMOStringGridを使用するには?

解決


TAKE  2006-04-03 18:32:43  No: 20821  IP: 192.*.*.*

Delphi2005または2006でMOStringGridを使用している方いますか?
MOStrinGridはDelphi5で使用していてとても重宝していました。Delphi2005でも使用したいと思っていますが、登録がうまく行きません。使用している方アドバイスをお願いします。
フリーのコンポーネントの質問ですみません。

編集 削除
Fusa  2006-04-04 01:38:44  No: 20822  IP: 192.*.*.*

D4とD5のdcuしか配布されていないので
無理なんじゃないですか?

ソースがあれば利用可能かもしれませんが
dcu=delphi compiled unit なので
コンパイル後のバイナリコードは
version間の互換性はないです。

編集 削除
kkk  2006-04-04 06:17:38  No: 20823  IP: 192.*.*.*

ソースは公開されていました。
作者のホームページはもうありませんがweb.archiveに残っています。
http://web.archive.org/web/20040610141830/www.m-mix.com/Program/Component/index.htm
ただDelphi6より古いバージョン用のため例のごとくDsgnIntf関連の変更が必要です。
ためしにBDS2006にインストールしてみました。
1)適当なパッケージを作成するか既存のパッケージにMOStringGrid関連のファイルを登録します
2)MOStringGridVer.pasのusesにDsgnIntfがありますのでDesignIntf, DesignEditors に変更します
3)MOStringGridReg.pasのusesにもDsgnIntfがありますのでDesignIntf, DesignEditors に変更します
4)それからパッケージのRequiresにdesignide.dcpを追加します
5)後は普通にインストール

これらの手順はD6より前のソースをD6以降に対応するように変更する手順と同じです。

編集 削除
TAKE  2006-04-04 10:39:02  No: 20824  IP: 192.*.*.*

Fusaさん、kkkさんありがとうございました。
無事Delphi2005でMOStringGridを使用できる様になりました。
同じ様に他のコンポーネントもDelphi2005で使用できそうです。
感謝します。

編集 削除
TAKE  2006-04-04 12:35:26  No: 20825  IP: 192.*.*.*

Formに貼り付けられたので、問題無いと思っていましたが、試しに実行したらエラーが出てしまいました。
構造-エラー「未宣言の識別子'TMOStringGrid'」
メーセージ「'DesignIntf.dcu'が見つかりません」
インストールは↓を参考に行いました。
http://homepage2.nifty.com/Mr_XRAY/Delphi/CompoInstall/CompInstallD2006.htm
もう一度アドバイスをお願いします。

編集 削除
kkk  2006-04-04 19:20:08  No: 20826  IP: 192.*.*.*

最終確認までしていませんでした・・・すいません
確かDesignIntf等を使用する場合は実行時用とデザイン時用のライブラリを分ける必要があったと思います。designide.dcpを利用するソースはデザイン時のみにする必要があります。パッケージをRunとDesign用の2種類用意してください。
今手元で確認ができませんので後で確認取れたらまた投稿します。

編集 削除
kkk  2006-04-04 20:25:52  No: 20827  IP: 192.*.*.*

動作確認しました。
すでにインストールしたMOStringGridは先にアンインストールしておきます。

1)実行時用パッケージにMOStringGrid.pas/MOInplaceCalender.pasを登録
  (designide.dcpをrequiresに登録していた場合はそれを削除)
2)MOStringGrid.pasでMOStringGridVer.pasを呼び出しているがMOStringGridVer.pasはDesignEditorsが必要なので今回はこれを使用しないようにする。
3)MOStringGrid.pasのusesからMOStringGridVerを削除する
4)MOStringGrid.pasのclass TMOStringGridのFAboutをコメントアウトする
5)MOStringGrid.pasのclass TMOStringGridのproperty Aboutをコメントアウトする
6)実行時パッケージをインストールする

7)設計時用パッケージにMOStringGridVer.pas/MOStringGridReg.pas/MOStringGrid.dcrを登録する
8)設計時用パッケージのRequiresにdesignide.dcpを登録する
9)設計時用パッケージはパッケージの種類で「設計時のみ使用可能」とする
10)設計時用パッケージをインストールする

とりあえず上記手順でインストール出来ました。
D2006上でMOStringGridSampleをコンパイル実行して確認してみました。

編集 削除
TAKE  2006-04-05 10:31:34  No: 20828  IP: 192.*.*.*

kkkさんありがとうございます。正常に実行することができました。
(カレンターを使用した場合にエラーが出るようですが当面使用する予定がないので問題ありません。他の方々は問題かな?)
また別な件で質問させてもらった時はよろしくお願いします。感謝します。

編集 削除