(2014/08/01~)
2014/08/12

Change Create Order

現在のバージョンは 2.60 です。バイナリ形式フォームも読み込めるようになりました。

TEditor ver2.52 Unicode Edition

4年ほどホッタラカシでしたが、メンテを再開しました。現在のバーションは rel.20 です。

変更点をざっくり言えばこんな感じです。

[Explorer] プレビューハンドラ

TEditor がマトモに動作するとこういう事もできる訳で。プレビューハンドラ (Explorer の [整理 | レイアウト | プレビュー ウィンドウ] で表示される奴) は Explorer 拡張の一種で実体は DLL です。 TEditor Unicode Edition の Samples フォルダにソースコードが入っていますのでどしどし改良してお使い下さい。なお、TEditor に付属のものには C++ 用のプレビューハンドラも組み込まれています。

※ 64bit Windows をお使いの場合には 64bit アプリケーションでビルドして組み込んで下さい。

無名メソッドを使った局所関数 (Delphi Programming)

Facebook で出た話題の関連ですが、関数内で「この処理のために変数が必要だけど、ここでしか使わないのに var に変数を書きにいかなきゃならない!」というのは以下のような書き方で回避できます。

procedure TForm1.Button1Click(Sender: TObject);
var
  s: String;
begin
  s := 'TEST';

 (procedure
  var
    a: Integer;
    b: Integer;
  begin
    a := 1;
    b := 2;
    s := s + IntToStr(a+b);
  end)(); // ここの () が重要

  ShowMessage(s); //TEST3 と表示される
end;

()(); ブロック内に処理を記述するのがミソです。"Delphi(Object Pascal)でcaseを式にする (山本隆の開発日誌)" を読んでこの記述ができる事に気付きました。


2014/08/17

TEditor ver2.52 Unicode Edition を C++Builder にインストールする

私が所持している最新の C++Builder は XE2 なので、XE2 で説明してみます。他のバージョンでもインストール手順に大差はないハズです。

  1. まず [新規作成 | パッケージ] でプロジェクトグループと実行時パッケージを作成する。
  2. [プロジェクトマネージャ] で ProjectGroup1 になっている所を右クリックし、[プロジェクトグループに名前を付けて保存]。 Delphi のパッケージと名前がカブらないようにバージョン名の前に C を付けている。保存先は TEditor のアーカイブを解凍した先の Packages フォルダ
  3. [プロジェクトマネージャ] で rtlHEditor_252U_CXE2 になっている所を右クリックし、[プロパティ] (またはメインメニューから [プロジェクト | プロパティ])。
  4. [Delphi コンパイラ] の [ユニットスコープ名] に vcl を追加 (XE 以前には不要)。
  5. [説明] の [説明] に "TEditor ver 2.52 Unicode Edition - Runtime Package (C++)"、[用途に関するオプション] は [実行時のみ] にチェック。[OK] を押してプロジェクトオプションダイアログを閉じる。
  6. [プロジェクト | プロジェクトに追加] で Source フォルダにある以下のファイルを追加する。
    Delphi のパッケージをインストールしていると、[プロジェクトマネージャ] の requires に Delphi 用パッケージが含まれてしまうので requires から削除しておく。
  7. [プロジェクトマネージャ] で rtlHEditor_252U_CXE2 になっている所を右クリックし、[ビルド] (2009 は [再構築])。コンパイルエラーになるようなら、手順に漏れがあるのでちゃんと確認する事。
  8. 実行時パッケージ (rtlHEditor_252U_CXE2) に問題がなければ、設計時パッケージを作る。[プロジェクトマネージャ] で HEditor_252U_CXE2 になっている所を右クリックし、[新規プロジェクトを追加]。パッケージを追加する。

  9. [プロジェクトマネージャ] で Project1 になっている所を右クリックし、[名前を付けて保存] (またはメインメニューから [ファイル | 名前を付けて保存])。 保存先は TEditor のアーカイブを解凍した先の Packages フォルダ
  10. [プロジェクトマネージャ] で dclHEditor_252U_CXE2 になっている所を右クリックし、[プロパティ] (またはメインメニューから [プロジェクト | プロパティ])。
  11. [Delphi コンパイラ] の [ユニットスコープ名] に vcl を追加 (XE 以前には不要)。
  12. [Delphi コンパイラ | コンパイル] の [コンパイラに渡す追加オプション] に -LUDesignIDE を追加。
  13. [説明] の [説明] に "TEditor ver 2.52 Unicode Edition - Designtime Package (C++)"、[用途に関するオプション] は [設計時のみ使用可能] にチェック。[OK] を押してプロジェクトオプションダイアログを閉じる。
  14. requires を右クリックし、[参照の追加]。$(BDSCOMMONDIR)\dcp にある rtlHEditor_252U_CXE2.bpi (コンパイル済み実行時パッケージ) を追加する。

    $(BDSCOMMONDIR) は [ツール | オプション] の [環境変数] で確認できる。
  15. [プロジェクト | プロジェクトに追加] で Source フォルダにある以下のファイルを追加する。 途中、フレームワークの選択ダイアログが出るので [はい] を押す (XE2 以降)。

    Delphi のパッケージをインストールしていると、[プロジェクトマネージャ] の requires に Delphi 用パッケージが含まれてしまうので requires から削除しておく。
  16. 一旦 [ファイル | すべて保存]。この時「プロパティがない」と言われたら [キャンセル] ボタンを押す。
  17. [プロジェクトマネージャ] で dclHEditor_252U_CXE2 になっている所を右クリックし、[インストール]。

    コンパイルエラーになるようなら、手順に漏れがあるのでちゃんと確認する事。

こんな感じで C++Builder にインストールできます。ヘッダファイルは Source フォルダに生成されていると思うので、実際に使う際には Include パスに追加するなりしてください。

TEditor の Fountain

TDFMFountain を作ったので Change Create Order のプロパティエディタ部に TEditor が使えるようになりました。TXMLFountain を作ったのでプレビューハンドラで RAD Studio の主要なファイルをプレビューできるようになりました…名前は未だに PascalPreview.dll なのですが。


 BACK   古いのを読む   新しいのを読む