Domanda

Sto cercando di liberarsi di alcuni suggerimenti (*) le emesse dal compilatore Delphi. Navigando attraverso il ToolsAPI Vedo un IOTAToolsFilter che sembra che potrebbe aiutarmi a realizzare questo attraverso il suo Notifier, ma non sono sicuro di come richiamare questo (attraverso quello che xxxServices I può accedere al filtro).

Qualcuno può dirmi se sto sulla strada giusta qui? Grazie!

(*) In particolare, H2365 sui metodi di override non corrisponde il caso del genitore. Non è così bello quando si hanno circa 5 milioni di linee di codice attivo con una convenzione di codice leggermente diverso rispetto Embarcadero di. Abbiamo lavorato senza note ormai da mesi, e abbiamo un pò manca 'm. : -)

È stato utile?

Soluzione

Anche se si potrebbe interrogare BorlandIDEServices per IOTAToolsFilter, che l'interfaccia non sta andando per aiutarti a fare quello che stai chiedendo. Che l'interfaccia è stata introdotta come parte di un meccanismo per l'aggiunta di strumenti di compilazione aggiuntivi (compilatori, ecc) per l'IDE (prima che l'IDE utilizzato MSBuild). Ti ha permesso di scrivere un "filtro" su misura per l'uscita manico da un particolare strumento di compilazione, ma non avrebbe lasciato si applica un filtro a una delle built-in strumenti (come il compilatore Delphi).

Il motivo della chiamata Supports(BorlandIDEServices, IOTAToolsFilter, OTAToolsFilter) non riesce a Delphi2010 è che una volta che il supporto MSBuild è stato inserito l'IDE, il vecchio modo di aggiungere strumenti di generazione per l'IDE è stato disattivato, e le BorlandIDEServices non è più supportato interfaccia IOTAToolsFilter.

La dichiarazione di IOTAToolsFilter dovrebbe probabilmente sono stati contrassegnati obsoleta in ToolsAPI.pas (o almeno avrebbe dovuto essere menzionata nel codice sorgente commento che essa non è più supportato).

Per quanto riguarda il vostro desiderio di filtrare un particolare suggerimento, io non sono a conoscenza di un modo per farlo attraverso il ToolsAPI. Sembra una cosa ragionevole che può essere aggiunto al IOTAMessageServices (la capacità di enumerare, filtrare, ed eventualmente modificare i messaggi nella dell'IDE Message View). Vorrei inserire una richiesta in QualityCentral per questo.

Inoltre, si prega di votare per il controllo di qualità # 35774 ( http: // qc. embarcadero.com/wc/qcmain.aspx?d=35774 ), come se che sono state attuate, non si avrebbe bisogno di utilizzare il ToolsAPI per questo genere di cose.

Altri suggerimenti

http://docwiki.embarcadero.com/RADStudio/en/Obtaining_Tools_API_Services dovrebbe essere possibile accedere direttamente usando BorlandIDEServices, ad esempio:

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

Tuttavia, questo non restituisce l'interfaccia desiderata in Delphi 2010 (si otterrà il messaggio non supportato), quindi non c'è né un errore nella documentazione, o un errore in BorlandIDEServices non restituendo la giusta interfaccia.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top