Delphi 플러그인을 사용하여 RAD Studio에서 Delphi 코드를 강조하려고합니다. 편집기에서 코드를 가져 오려면 OpentoolsAPI을 사용합니다.RAD Studio에서 델파이 코드 강조하기
EditorServices := BorlandIDEServices as IOTAEditorServices;
Buffer := EditorServices.TopBuffer;
Editblock := EditorServices.TopView.GetBlock;
Buffer.EditPosition.Move(1,1);
Editblock.BeginBlock;
Editblock.Extend(10,5);
는 그 후, 나에게 말한다 FAQ 오픈 도구는 사용자 정의 하이 라이터를 사용합니다. 여기에서 사용자 정의 형광펜을 복사했습니다 : http://www.delphi-central.com/syntax_highlighting.aspx
그래도 문서가 매우 제한되어 있으며이 맞춤 형광펜을 사용하는 방법을 생각할 수 없습니다.
HighlightServices := BorlandIDEServices as IOTAHighlightServices;
SimpleHighLight := TSimpleHighlight.Create;
HighlightServices.AddHighlighter(SimpleHighLight);
Text := Editblock.Text; //string
StartClass := 1; //integer
SyntaxByte := SyntaxOff; //byte
SyntaxCode := @SyntaxByte; //POTASyntaxCode
SimpleHighLight.Tokenize(StartClass,Addr(Text),Text.Length, SyntaxCode);
하지만 그 데모 코드 줄에서 액세스 위반 오류가 발생합니다 : 내가 현재 시도하고 다음이다
FillChar(HighlightCodes^, LineBufLen, $E);
누군가가 나에게 올바른 구현의 예를 줄 수 ? 아니면 내가 잘못하고있는 것을 도와 주겠습니까?
글쎄, 코드를 보면 SysntaxByte (SyntaxCode를 통해)는 적어도 텍스트만큼 길어야하며 그렇지 않아야합니다. 왜 그것이 있어야하는지에 관해서는, 나는 모른다. 필자는 문자로 원본 텍스트에 서식 코드를 적용한다고 추측합니다. – Dsm
어떤 델파이 버전을 사용하고 있습니까? – dummzeuch
10.2 도쿄 버전 –