皆様、お世話になっています。もいかです。
タイトルの通りなのですが、Delphi のソースからクラス図を自動生成したいのですが、
なにか良いツール、方法など無いでしょうか?
Delphi は 10.3.3 Professional を使用しています。
よろしくお願いいたします。
使ったことがないので、もいかさんが希望される機能があるか、わかりませんが、
Doc-O-Matic
Documentation Insight
などのツールがあるようです。
間違っていたら申し訳ありませんが、
下層から上層へと辿るのならば下記のコードできます。
procedure TForm1.Button1Click( Sender : TObject );
begin
CheckClass( Button1.ClassType );
end;
procedure TForm1.CheckClass( AClass : TClass );
begin
Memo1.Lines.Clear;
Memo1.Lines.Add( AClass.ClassName );
// TObjectになるまでループ
while AClass <> TObject do
begin
AClass := AClass.ClassParent;
Memo1.Lines.Add( AClass.ClassName );
end;
end;
普通にIDEの右上のペインにあるモデルビューじゃだめですか?
メインメニュー→プロジェクト→モデリングサポート
からも有効にできます。
皆さん、返信ありがとうございます。
まとめての返信で失礼します。
まず、漠然とした質問で失礼しました。
やりたいことは、Delphiのソースコードから自動的に
クラス図(継承関係が図示されたもの)を生成したいと
思っています。
上記を行いたい理由は、どんどん継承関係を増やすような
開発を行っており、ソースを追えばわかるとはいえ
クラス図になっていると少し助かるかなと思ったからです。
igyさん
> Doc-O-Matic
> Documentation Insight
紹介ありがとうございます。
調べてみます。
KONNOYAさん
> 下層から上層へと辿るのならば下記のコードできます。
ソースの提示までいただきありがとうございます。
参考にさせていただきます。
HFUKUSHIさん
> 普通にIDEの右上のペインにあるモデルビューじゃだめですか?
継承関係が図示されていると良いのですが、モデルビューでも
できますでしょうか?
出来ると、それが一番だと思います。
以上です。
やってみれば10秒でわかりますが、クラス図なので当然継承関係も表示されます。
異なるユニットのクラスはデフォルトで非表示ですが、表示させることも可能です。
HFUKUSHIさん
ご教授ありがとうございます。
いろいろやってみて、使い方がようやくわかりました。
(1) 右上のプロジェクトペインの下のタブ「モデルビュー」を選択する。
(モデル情報作成確認のダイアログはOKで)
(2) 「モデルビュー」から「ダイアグラム」ビューを開く
・「モデルビュー」のダイアグラムノードをダブルクリックする。
・ダイアグラムノードは「モデルビュー」で{}マークのあるもの
(例えば、{}Unit1 とか)
(3) 「ダイアグラム」ビューが開かれ、UML準拠のクラス図が表示される。
・そのままだとクラスが重なっていたりして見にくいので
「ダイアグラム」ビューの空白の部分で右クリックして
レイアウト→レイアウトの実行を選ぶと、自動的に重なりのない
ように配置してくれる。
(4) 図として保存も出来る。(同じく右クリックで)
こんな感じでしょうか。
もっと便利な使い方があれば、是非教えて下さい。
以上です。
よろしくお願いいたします。
特に無いようですので、クローズします。
皆様ありがとうございました。
ツイート | ![]() |