0

単純な蛍光ペンを作成しようとしています (これは、pas ファイル内の特定の種類の変数の強調表示を追加します)。

http://www.delphi-central.com/syntax_highlighting.aspxのコードを使用しました

問題は、Tokenize プロシージャが呼び出されないことです。次の方法で Register プロシージャに登録されます。

RegisterPackageWizard(TSimpleHighlight.Create);

または、コンストラクターで次のようにします。

(BorlandIDEServices As IOTAHighlightServices).AddHighlighter(TSimpleHighlight.Create);

メニュー Tools.Options を起動すると GetName が呼び出されます

コードスニペット:

TSimpleHighlight = class(TNotifierObject, IUnknown, IOTANotifier, IOTAHighlighter, IOTAWizard)
public
  function GetIDString: string;
  function GetName: string;
  procedure Tokenize(StartClass: TOTALineClass; LineBuf: POTAEdChar;
    LineBufLen: TOTALineSize; HighlightCodes: POTASyntaxCode);
  function TokenizeLineClass(StartClass: TOTALineClass;
    LineBuf: POTAEdChar; LineBufLen: TOTALineSize): TOTALineClass;
  function GetState: TWizardState;
  procedure Execute;
  constructor Create;
end;

procedure Register;
begin
  RegisterPackageWizard(TSimpleHighlight.Create);
end;

constructor TSimpleHighlight.Create;
begin
  inherited;
  (BorlandIDEServices as IOTAHighlightServices).AddHighlighter(Self);
end;

チュートリアルでは、「OTA を使用すると、新しいソース ファイル タイプの蛍光ペンを作成できます」と記載されています。これを何らかの形でpas-filesに登録する必要がありますか、それとも他に何か不足していますか?

4

0 に答える 0