以前使用していたEDITコンポーネントがすでに更新されていなかったため、よく見かける「synedit」を入れたのですが、分からない部分が多かったのでそのメモです。
Syneditは下記サイトから入手します。
https://sourceforge.net/projects/synedit/
まず、ダウンロードしたら適当なフォルダに解凍し、
\SynEdit\Packages\SynEdit_RXE5.dprojと\SynEdit\Packages\SynEdit_DXE5.dprojを
ビルドしますが、いろいろとエラーがでます。
- E2010 ‘AnsiChar’ と ‘Char’ には互換性がありません
- W1064 指定された AnsiString 定数を拡大変換した結果、情報が失われました
そのため次のことをします。
- \SynEdit\Source\SynEdit.incの編集( VER280~VER310を追加)
C++Builder XE7はVER280のようですが、Radstudio10.1はVER310ですので、そこまで同じものを追加します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
{-------------------------------------------------------------} { VERXXX to SYN_COMPILERX, SYN_DELPHIX and SYN_CPPBX mappings } {-------------------------------------------------------------} {$IFDEF VER310} {$DEFINE SYN_COMPILER_19} {$DEFINE SYN_DELPHI} {$DEFINE SYN_DELPHI_XE5} {$ENDIF} {$IFDEF VER300} {$DEFINE SYN_COMPILER_19} {$DEFINE SYN_DELPHI} {$DEFINE SYN_DELPHI_XE5} {$ENDIF} {$IFDEF VER290} {$DEFINE SYN_COMPILER_19} {$DEFINE SYN_DELPHI} {$DEFINE SYN_DELPHI_XE5} {$ENDIF} {$IFDEF VER280} {$DEFINE SYN_COMPILER_19} {$DEFINE SYN_DELPHI} {$DEFINE SYN_DELPHI_XE5} {$ENDIF} {$IFDEF VER270} {$DEFINE SYN_COMPILER_19} {$DEFINE SYN_DELPHI} {$DEFINE SYN_DELPHI_XE5} {$ENDIF} |
- \SynEdit\Source\SynHighlighterJava.pasとSynRegExpr.pasを欧文(CodePage 1252)でエディタで読み込み、UNICODE(UTF16)で保存
上のように文字化けするので、下のようになるようにします。
1 2 3 |
'A'..'Z', 'a'..'z', '_', '$', 'タ'..'ヨ', 'リ'..'・, '・..'': IdentProc; 'A'..'Z', 'a'..'z', '_', '$', 'À'..'Ö', 'Ø'..'ö', 'ø'..'ÿ': IdentProc; |
- \SynEdit\Source\SynRegExpr.pasをしたのように変更
1 2 3 |
#$d#$a{$IFDEF SynRegUniCode}+#$b#$c#$2028#$2029#$85{$ENDIF}; //###0.947 #$d#$a{$IFDEF SynRegUniCode}+#$000b#$000c#$2028#$2029#$0085{$ENDIF}; //###0.947 |
コンパイルが通ったら、SynEdit_DXE5.dproj でプロジェクトマネージャーからビルド後、右クリックで出てくるインストールでコンポーネントにインストールできます。
ただし、標準ではdclusrはインストールされていないので、C:\Program Files (x86)\Embarcadero\Studio\18.0\lib\win32\release\dclusr.dproj
プロジェクトマネージャーでインストールしておきます。管理者権限で実行してください。また、パッケージ名のところを選択必ず [上書き保存]します。
いろいろ調べたので、他にもやったことがあるかもしれません。