Delphiでのプログラミングについて、メモや思うところを綴っております

2006.7.24

DesignEditors.dcuが~!

古いバージョン向けのコンポーネントをインストールしてコンパイルも通ったのに!

なぜかコンポーネントを配置してexeを書きだそうとすると「DesignEditors.dcuがね~よ」メッセージが...
いろいろ調べてもなかなか解凍が出なかったんですけど、どうやらコンポーネントのPASをコンポーネント本体とデザイン時用に分離してやればOKのよう、以下のURLを参考に~

http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/browse.cgi?index=6212

実際にRegister関連やコンポーネントのEditor関連を分離して、分離したPasファイル側から本体コンポーネントをusesに入れてやるとうまくいった!!

ここまでで6時間ほど悩んだorz

投稿者 y0525y : 15:49 | Delphi | コメント (1) | トラックバック(0)

protectedなメソッドやプロパティにアクセス

先の投稿で「TDesignerSelections」というクラスを示しましたけど~
こいつのaddメソッドなんかはプロテクト宣言されているため「TDesignerSelectionList」から置き換えただけではエラーになる可能性大です。

で、addとかに簡単にアクセスするのには以下のような感じで

Type節で
TDesignerSelectionsX = class(TDesignerSelections);

とかして、TDesignerSelectionsのインスタンスに対してこんな感じ

TDesignerSelectionsX(インスタンス).add(こんぽ);

とするとOK何ですね~ 便利だw

投稿者 y0525y : 13:56 | Delphi | コメント (0) | トラックバック(0)

古いバージョン向けコンポーネントで「DsgnIntfがありません。」

表題のエラーは結構出るもんですね、別に珍しい物ではありませんが対処法をメモ

DsgnIntfは新しいバージョンでは「DesignIntf」「DesignEditors」に置き換えられてるので、usesにて
DsgnIntfの代わりに「DesignIntf, DesignEditors」を入れてやればOK

これだけで対処できる物もあれば、「TGetPropEditProc」「TDesignerSelectionList」でエラーが出る場合も...

「TGetPropEditProc」はよく解りませんけど「TDesignerSelectionList」は「TDesignerSelections」に置き換えられたようですなー

投稿者 y0525y : 13:51 | Delphi | コメント (0) | トラックバック(0)