Question

Je suis en train de se débarrasser de quelques conseils (*) Les compilateur Delphi émet des de. En parcourant le ToolsAPI Je vois IOTAToolsFilter qui ressemble il pourrait me aider à accomplir cela par notificateur de, mais je ne suis pas sûr comment appeler cela (par ce que xxxServices I peut accéder au filtre).

Quelqu'un peut-il me dire si je suis sur la bonne voie? Merci!

(*) En particulier, les méthodes H2365 substituées ne correspondant pas le cas du parent. Pas si agréable quand vous avez environ 5 millions de lignes de code actif avec une convention de code légèrement différent de celui Embarcadero de. Nous avons travaillé sans conseils depuis des mois, et nous manquons un peu « m. : -)

Était-ce utile?

La solution

Même si vous pouvez interroger BorlandIDEServices pour IOTAToolsFilter, cette interface ne va pas vous aider à faire ce que vous demandez. Cette interface a été introduite dans le cadre d'un mécanisme permettant d'ajouter des outils de construction supplémentaires (compilateurs, etc.) à l'IDE (avant l'IDE utilisé MSBuild). Il vous a permis d'écrire une coutume « filtre » à la poignée sortie d'un outil de construction particulier, mais il ne vous laissera pas appliquer un filtre à l'un des outils intégrés (comme le compilateur delphi).

La raison pour laquelle l'appel Supports(BorlandIDEServices, IOTAToolsFilter, OTAToolsFilter) échoue dans Delphi2010 est qu'une fois que le soutien MSBuild a été ajouté à l'IDE, l'ancienne façon d'ajouter des outils de construction à l'IDE a été désactivé, et les BorlandIDEServices l'interface ne plus prise en charge IOTAToolsFilter.

La déclaration de IOTAToolsFilter aurait probablement dû être marquée dépréciée dans ToolsAPI.pas (ou moins, il aurait dû être mentionné dans le code source commentaire que ce ne soit plus pris en charge).

En ce qui concerne votre désir de filtrer un soupçon particulier, je ne suis pas au courant d'une façon de le faire via le ToolsAPI. Il semble comme une chose raisonnable qui peut être ajouté à IOTAMessageServices (la capacité d'énumérer, filtrer et éventuellement modifier les messages Voir message de l'EDI). Je demande à entrer dans une QualityCentral pour cela.

En outre, s'il vous plaît voter pour QC # 35774 ( http: // qc. embarcadero.com/wc/qcmain.aspx?d=35774 ), comme si cela mis en œuvre, vous auriez pas besoin d'utiliser le ToolsAPI pour ce genre de chose.

Autres conseils

Selon http://docwiki.embarcadero.com/RADStudio/en/Obtaining_Tools_API_Services il devrait être possible d'accéder directement à l'aide BorlandIDEServices, par exemple:

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

Toutefois, cela ne revient pas à l'interface désirée dans Delphi 2010 (vous obtiendrez le message non pris en charge), donc il y a soit une erreur dans la documentation, ou une erreur de ne pas retourner BorlandIDEServices l'interface correcte.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top