2009-08-19 3 views
2

私はEnterprise Architectコード生成機能を使用して、モデルをDelphiコードにエクスポートしています。インターフェイスが完全に出力コードで定義されるように、EAでインターフェイスGUIDを指定する方法はありますか?Enterprise ArchitectでDelphiインターフェイスのGUIDを指定するには?

例:

ILogger = interface 
    procedure Log(AMessage: ILoggerMessage); 
end; 

ILogger = interface 
['{16B77CF4-4219-412D-B1F3-20E29E2E9D9E}'] 
    procedure Log(AMessage: ILoggerMessage); 
end; 

答えて

1

...コードが生成される方法を変更するテンプレート編集機能を使用しようとすることができDelphiは好きな形でGUIDを含む値を持つ属性

Attribute=['{16B77CF4-4219-412D-B1F3-20E29E2E9D9E}'] 

をあなたはコード生成テンプレートクラスのボディを変更し、(elemTypeは「インターフェース」%を==場合は%の後でなければなりません)セカンドラインとして

%classTag:"Attribute"% 

を追加する必要がありますEAはGUIDでコードを正しく生成する必要があります。 EAは正しくインポートしますが、正しく生成できません。

これはインタフェースのクイックフィックスです。デルファイでプログラミングしてからずっと時間がかかりましたので、クラスにこのような属性があるかどうかはわかりません。

2

号Delphiはなく、すべてのインターフェイスが1つを持っている持っているとして、あなたは、GUIDかどうかをする必要がありますかどうかわかりませんでなければなりません。 (COM用に設計されておらず、IDispatchを実装していないインターフェイス)IDEはあなたの心を読むことができません(未来には希望があるかもしれません)作成を再計画する。

0

EAはCOMプログラミングのようにインターフェイスをサポートしていないようです。しかし、あなたはあなたがILoggerですタグ付きに追加する必要があります