2013-03-19 14 views
8

Es war schon immer seltsam, dass es in Delphis VCL nie eine Description Eigenschaft auf der TService gab. Bis heute hat Delphi XE2 es noch nicht. Es ist so einfach und gewöhnlich, dass ich mich frage, warum es nicht da ist.Warum gibt es noch keine Beschreibung-Eigenschaft auf dem TService?

Ich weiß, wie man es selbst erstellt, aber mein Punkt ist, ich sollte nicht müssen. Ich habe mich gefragt, ob es einen technischen Grund gibt, warum Description eines Dienstes nicht in Delphis VCL integriert ist? Weil es so einfach zu implementieren scheint.

+0

Und ich muss darauf hinweisen, dass ich nach technischen Gründen suche, nicht nach Meinungen. –

+0

Meine Vermutung ist, dass der technische Grund ist, dass niemand entschieden hat (oder gedacht hat), dass es notwendig ist, und dass, um mehr Informationen zu bekommen, Sie Borland/CodeGear/Embarcadero fragen müssten. IOW, ich glaube nicht, dass irgendjemand diese Frage beantworten kann. :-) Nicht downvoting oder irgendetwas anderes, nur kommentieren. –

+0

@Ken Das ist, was ich denke, aber ich denke auch, dass vielleicht Windows einige Einschränkungen hat, die die VCL nicht in Betracht zieht, oder etwas in dieser Richtung. –

Antwort

9

es Einstellung erfordert ChangeServiceConfig2 API-Funktion, die mit XP & Win2003 eingeführt wurde, wurde die Service-Klasse in Delphi davor geschrieben, und für eine lange Zeit, Windows NT4 und 2000 waren die Grundlage für das Delphi-RTL.

Auch aus irgendeinem Grund haben Borland (und Nachfolger) die Verwendung von dynamischer Bindung für Windows-API-Funktionen abgelehnt, bevorzugen statische Bindungen zu DLLs oder späte, aber nicht optionale Bindungen (fragen Sie mich nicht, warum es macht kein Sinn für mich), und die Verwendung der vorherigen Funktion hätte entweder Win2003 als Mindestversion oder dynamisches Binden erfordert.

Also ich denke nicht, dass es eine vorsätzliche Entscheidung war, aber ist mehr eine Konsequenz der Unternehmenspolitik auf dynamische Bindungen und klare alte Code Pflege Vernachlässigung/Aufsicht.

+0

+1 Das ist genau das, was ich erwartet habe zu hören, es ist nicht so, dass niemand gedacht hat, es zu tun, es ist, dass die Art, wie es funktioniert, es natürlich nicht unterstützt. –

+0

... und würde daher ein vollständiges Umschreiben des "TService" erfordern, um dies zu ermöglichen. –

+0

@JerryDodge nicht wirklich, Sie müssen nur dynamisch (wenn Sie Win2003 und XP-Kompatibilität beibehalten wollen) binden Sie die Funktion und rufen Sie auf, wenn verfügbar. Keine Notwendigkeit, etwas neu zu schreiben, das ist nur ein bisschen extra Code und eine zusätzliche Eigenschaft. –

Verwandte Themen