Frage

Ich versuche, einige Hinweise (*) loszuwerden, den der Delphi -Compiler emittiert. Durchstöbern Toolsapi Ich sehe ein Iotatoolsfilter Das sieht so aus, als ob es mir helfen könnte, dies durch seine Notifier zu erreichen, aber ich bin mir nicht sicher, wie ich dies aufrufen soll (durch welche xxxservices ich kann auf den Filter zugreifen).

Kann mir jemand sagen, ob ich hier auf dem richtigen Weg bin? Vielen Dank!

(*) Insbesondere H2365 über überschriebene Methoden, die den Fall des Elternteils nicht übereinstimmen. Nicht so schön, wenn Sie ungefähr 5 Millionen Zeilen aktiver Code mit einer etwas anderen Codekonvention haben als Embarcadero. Wir arbeiten seit Monaten ohne Hinweise und wir vermissen irgendwie m. :-)

War es hilfreich?

Lösung

Selbst wenn Sie BorlandideServices für IoTatoolsFilter befragen könnten, hilft Ihnen diese Benutzeroberfläche nicht, das zu tun, was Sie fragen. Diese Schnittstelle wurde als Teil eines Mechanismus zum Hinzufügen zusätzlicher Build -Tools (Compiler usw.) zur IDE (vor der von der IDE verwendeten MSBuild) eingeführt. Sie können einen benutzerdefinierten "Filter" schreiben, um die Ausgabe aus einem bestimmten Build-Tool zu verarbeiten. Sie können jedoch keinen Filter auf eines der integrierten Tools (wie der Delphi-Compiler) anwenden.

Der Grund der Supports(BorlandIDEServices, IOTAToolsFilter, OTAToolsFilter) Call schlägt in DelPhi2010 fehl, dass die IDE die alte Methode zum Hinzufügen von Build -Tools zur IDE deaktiviert wurde, sobald die MSBuild -Unterstützung hinzugefügt wurde und die Schnittstelle von BorlandideServices nicht mehr IOTATOLSFILTER unterstützte.

Die Erklärung von Iotatoolsfilter hätte wahrscheinlich in Toolsapi.pas veraltet gekennzeichnet sein müssen (oder zumindest in dem Quellcode -Kommentar, dass sie nicht mehr unterstützt wird).

Was Ihren Wunsch angeht, einen bestimmten Hinweis zu filtern, bin ich mir nicht bewusst, wie ich dies über die Toolsapi tun kann. Es scheint eine vernünftige Sache zu sein, die zu IoTamessageServices hinzugefügt werden kann (die Fähigkeit, die Nachrichten in der Nachrichtenansicht der IDE zu zählen, zu filtern und möglicherweise zu ändern). Ich würde dafür eine Anfrage in Qualität eingeben.

Bitte stimmen Sie auch für QC #35774 (http://qc.embarcadero.com/wc/qcmain.aspx?d=35774) Als ob dies implementiert wäre, müssten Sie die Toolsapi für solche Dinge nicht verwenden.

Andere Tipps

Entsprechend http://docwiki.embarcadero.com/radstudio/en/obtaining_tools_api_services Es sollte möglich sein, mithilfe von BorlandideServices, z. B. direkt:

var
  OTAToolsFilter: IOTAToolsFilter;
begin    
if Supports(BorlandIDEServices, IOTAToolsFilter, OTAToolsFilter) then
  ShowMessage('supports IOTAToolsFilter')
else
  ShowMessage('IOTAToolsFilter NOT supported');
end;

Dies gibt jedoch nicht die gewünschte Schnittstelle in Delphi 2010 zurück (Sie erhalten die nicht unterstützte Nachricht). Daher gibt es entweder einen Fehler in der Dokumentation oder einen Fehler in BorlandIdeServices, die die richtige Schnittstelle nicht zurückgeben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top