2013-03-19 12 views
8

DelphiのVCLのTServiceにはDescriptionというプロパティが存在していないことはいつも不思議です。今日まで、Delphi XE2にはまだそれがありません。そんなにシンプルで共通しているのはなぜなのでしょうか?まだTServiceにDescriptionプロパティがないのはなぜですか?

私はそれを自分で作成する方法を知っていますが、私の要点は私がするべきではありません。サービスのDescriptionがDelphiのVCLに組み込まれていないという技術的な理由があるのでしょうか?彼らが実装するのはとても簡単だからです。

+0

私は技術的な理由を考えていますが、意見ではありません。 –

+0

技術的な理由は、誰もそれが必要であると判断していないということで、Borland/CodeGear/Embarcaderoに尋ねなければならないより多くの情報を得ることができたと思います。 IOW、私は誰もこの質問に答えることができないと思う。 :-) downvotingや何かコメントはしていません。 –

+0

@Kenそれは私が考えていることですが、WindowsにはVCLが考慮していないいくつかの制限や、それに沿ったものがあるかもしれないと考えています。 –

答えて

9

設定するには、XP & Win2003で導入されたChangeServiceConfig2 API関数が必要です。Delphiのサービスクラスはそれ以前に書かれていましたが、長い間Windows NT4と2000がDelphi RTLのベースラインでした。

また、Borland(および後継者)は、Windows API関数で動的バインディングを使用したり、DLLへの静的バインディングまたは後で非オプションのバインディングを使用することに悪影響を与えています。以前の関数を使用するには、Win2003を最小バージョンとして使用するか、動的バインディングを使用する必要がありました。

私はそれが意図的な決定ではないと思っていますが、ダイナミックバインディングと古いコード保守の無視/見落としに関する会社の方針の結果です。

+0

+1これはまさに私が聞きたいと思っていたものです。誰もそれをやろうと思ったわけではありません。それが自然にそれをサポートしていないのです。 –

+0

...それゆえ、それを可能にするために 'TSサービス 'の完全な書き換えが必要になります。 –

+0

@JerryDodge実際には、Win2003とXPの互換性を維持したい場合は、動的に関数をバインドし、利用可能な場合は呼び出す必要があります。何も書き換える必要はありません。これはちょっとしたコードと追加のプロパティです。 –