~katsuhiko メッセージボード

back 801-850

851-900

901-950


900 2.01 にしたら、DoDrawLine で、Bracketsが認識しなくなりました コメント数:  2件
  かとちん  |  2000/12/07 (木) 01:42
 http://pc2.techno-ware-unet.ocn.ne.jp/~kato
1.75 から、2.01 に載せ替えたらTPerserが、以前はtoBracketトークンを
返さなくなりました。
仕様変更なのでしょうか? もしそうなら、どう対処するのが望ましいのか
教えて下さい。
以前のバージョンで動作した DoDrawLine の一部を掲載します。
(試したら文字数オーバーしたので辞めます)
TPerser廻りが、2.01 で大幅に改良されましたが、これはその副作用のような
気がしているのですが,ちょっと時間が無くて追い切れていません。



899 Re^3: 範囲チェックエラー コメント数:  0件
  本田勝彦  |  2000/12/07 (木) 01:30
 http://member.nifty.ne.jp/~katsuhiko
>  バッチリです。(^^)V

いかったいかった(^^) 今度のバージョンで対応致します。



898 リンク報告 コメント数:  0件
  KUBO  |  2000/12/07 (木) 00:40
 http://homepage1.nifty.com/kubouchi/
 本田さん、こんばんわ。
リンクさせて頂きましたので、報告させて頂きます。
(遅くなってしまいましたが。)

 TEDITORを拡張して使用させて頂いてます。僕のソフトウェアがあるのも
TEditorのおかげです。(感謝)




897 Re^2: 範囲チェックエラー コメント数:  1件
  DR-X   |  2000/12/06 (水) 06:12
>レポートありがとうございます。Delphiのバージョンは5ですか?
>ウチのD4では発生しませんでした。

 D5です。おかしいですね、D5でさらにチェックが厳しくなったん
でしょうか。

>試しに、9,924行目を
>
>FRowCount := Max(1, H div GetRowHeight);
>
>として試して頂けないでしょうか、よろしくお願い致します。

 バッチリです。(^^)V




896 Re: 範囲チェックエラー コメント数:  2件
  本田勝彦  |  2000/12/06 (水) 00:34
 http://member.nifty.ne.jp/~katsuhiko
レポートありがとうございます。Delphiのバージョンは5ですか?
ウチのD4では発生しませんでした。試しに、9,924行目を

FRowCount := Max(1, H div GetRowHeight);

として試して頂けないでしょうか、よろしくお願い致します。



895 Re: アウトラインプロセッサ「Nami2000」は生き残れるか(^O^;) コメント数:  0件
  Km   |  2000/12/03 (日) 11:18
 http://homepage2.nifty.com/Km/
>  前の記事をみたら「あうとら」の作者さんに続いて「eMemoPad」の作者さんもTEditorの採用を決めたようですね。したがってこれらに対する「Nami2000」のアドバンテージはまったくなくなりました(^^;)。でもTEditorのファンとしてはうれしい限りです(エディタでもよく使われていますよねえ)。

はじめまして。私もTEditorファンの一人です。
確かに色々なエディタで使われていますね。というか、TEditorがあったからこそ、
みなさん自分にあったエディタを作る気になったのではないでしょうか。
私も自分が欲しい機能だけを実装したエディタを作ってますけど、TEditorが
なかったら、多分作らなかったと思います。
値段が安く、ソースが公開されていて、対応も早いし、何より日本語で質問可能
というのがうれしいですね。



894 Re^2: TEditorde固まる コメント数:  0件
  うるる  |  2000/12/03 (日) 10:36
> お手数をお掛けいたしますが、最新版をご利用下さい。

最新版で試してからという基本を忘れていました。
ごめんなさい、ありがとうございました。



893 範囲チェックエラー コメント数:  3件
  DR-X   |  2000/12/03 (日) 07:42

 本田さん、こんにちは。

TEditor で自作プログラムを作っていたときにフォームを限界まで小さく
すると範囲チェックエラーがでましたので報告しておきます。

Delphi の プロジェクト・オプション・コンパイラで実行時エラーに
チェックをいれた状態で、フォームに TEditor を置き、ScrollBars を
ssBoth にして、ボタンクリックで Editor.Height を 0 にすると再現できる
と思います。

 これは、スクロールバーの存在によって FRowCount が マイナスになって
しまい、UINT 型にマイナス値を入れたために起こっている現象のようです。

 マイナス値をいれても問題なく動くのかもしれませんが、デバッグしにく
いオプションにしなければならないので、対策できないでしょうか。

 以上です。よろしくお願いします。




892 アウトラインプロセッサ「Nami2000」は生き残れるか(^O^;) コメント数:  1件
  ゆうきひろ  |  2000/12/03 (日) 02:06
 http://http://www.remus.dti.ne.jp/~kinpotwn/mozart/_start.htm
 前の記事をみたら「あうとら」の作者さんに続いて「eMemoPad」の作者さんもTEditorの採用を決めたようですね。したがってこれらに対する「Nami2000」のアドバンテージはまったくなくなりました(^^;)。でもTEditorのファンとしてはうれしい限りです(エディタでもよく使われていますよねえ)。
Ver2.1についてはここで皆さんのバグ報告等をもう少しチェックしてから使用したいと思います。いまのところVer1.72で特に不足はないものですから。それにしても最近プログラミングする時間がとれないのが痛いです!



891 Re: TEditorde固まる コメント数:  1件
  本田勝彦  |  2000/12/02 (土) 23:48
 http://member.nifty.ne.jp/~katsuhiko
> 早速ですが、TEditorで特定の文字「┏」とかを表示させると
> 100%固まります。こちらのログを全部は読めていないのですが、
> 私のところだけでしょうか?

ver 2.00 のバグです。現在の ver 2.01 はだいじょぶですので、
お手数をお掛けいたしますが、最新版をご利用下さい。



890 Re^4: TEditorの拡張方法 コメント数:  0件
  本田勝彦  |  2000/12/02 (土) 23:46
 http://member.nifty.ne.jp/~katsuhiko
> Q&Aのコードですが2カ所ミスがあるようです。

ご指摘どうもです。手書きしただけなので(^^; 許してね。
修正しておきますです。



889 Re^4: TEditor ver 1.69 コメント数:  0件
  本田勝彦  |  2000/12/02 (土) 23:45
 http://member.nifty.ne.jp/~katsuhiko
> #ver1.69のソースのヘッダ部分が「ver1.68 11/24」に
> #なったままなので、こっそり修正して下さい(^^;

あ゛〜〜 (^^ゞ こっそりなおします。




888 TEditorde固まる コメント数:  2件
  うるる  |  2000/12/02 (土) 23:35
こんばんわ、本田さん、うるるです$(^-^)$
こちらでははじめまして ( ^.^)( -.-)( _ _)ですね。

早速ですが、TEditorで特定の文字「┏」とかを表示させると
100%固まります。こちらのログを全部は読めていないのですが、
私のところだけでしょうか?

……足下が冷えるのでそろそろ眠りにつきます。お休みなさい。



887 Re^3: TEditorの拡張方法 コメント数:  1件
  多摩の岳夫  |  2000/12/02 (土) 16:40
 http://www.asahi-net.or.jp/?~ij7t-snhr/
> 新しい TEditor の派生コンポーネントをパッケージに追加して利用する
> という方式になります。Q&Aを更新しましたので、見てやって下さい。

わざわざありがとうございました。
Q&Aのコードですが2カ所ミスがあるようです。

誤:TMyEditor = class(TEditor);
正:TMyEditor = class(TEditor)

誤:RegisterComponent('Samples', [TMyEditor]);
正:RegisterComponents('Samples', [TMyEditor]);

以上でインストールできるようになりました。




886 Re^3: TEditor ver 1.69 コメント数:  1件
  DEKO   |  2000/12/02 (土) 14:15
 http://homepage1.nifty.com/ht_deko/
なるホド...。了解しました。

#ver1.69のソースのヘッダ部分が「ver1.68 11/24」に
#なったままなので、こっそり修正して下さい(^^;



885 Re^2: TEditor ver 1.69 コメント数:  2件
  本田勝彦  |  2000/12/01 (金) 22:45
 http://member.nifty.ne.jp/~katsuhiko
> ありがとうございます。頂きました。

どうもです(^^)

>  Lines.LoadFromFileって以前のバージョンでも#10,#13,#13+#10のいずれのフ
>ァイルもちゃんと読み込めたような気がしましたが、私の気のせいでしたか?

今までのは、ファイルの $2001 バイト目に #10 がある場合、改行が一つ減る
んですね。#13#10 なら問題無いのですが、#10 だけだとまずかったんです。

$2000バイト以上のファイルで、255分の1の確立(もっと高いかも)で
発生していました。



884 Re: TEditor ver 1.69 コメント数:  3件
  DEKO   |  2000/12/01 (金) 15:10
 http://homepage1.nifty.com/ht_deko/
ありがとうございます。頂きました。

>おまけで、Lines.LoadFromFile も ver 2.01 同等になっています。

 Lines.LoadFromFileって以前のバージョンでも#10,#13,#13+#10のいずれのファイルもちゃんと読み込めたような気がしましたが、私の気のせいでしたか?

#ここら辺は既にいじってるので確める術がありません(^^;



883 TEditor ver 1.69 コメント数:  4件
  本田勝彦  |  2000/12/01 (金) 00:15
 http://member.nifty.ne.jp/~katsuhiko
を公開致しました。DEKO さんご指摘の DrawUnderline, HideUnderline
のバグフィックスバージョンです。おまけで、Lines.LoadFromFile も
ver 2.01 同等になっています。



882 TEditor ver 2.01 のバグ コメント数:  0件
  本田勝彦  |  2000/12/01 (金) 00:08
 http://member.nifty.ne.jp/~katsuhiko
新たなバグが見つかりました。
Brackets に囲まれた文字列中に予約語があると、ハイライト表示されます。

TEditorParser.IsResrveWord を以下のように変更して下さい。m(_ _)m

function TEditorParser.IsReserveWord: Boolean;
var
I: Integer;
begin
Result := not (FToken in [toBracket, toComment]) and // 追加
(FEditor <> nil) and
FEditor.FReserveWordList.Find(TokenString, I);
end;



881 Re: リンクさせていただきました コメント数:  0件
  本田勝彦  |  2000/12/01 (金) 00:05
 http://member.nifty.ne.jp/~katsuhiko
> 最近ホームページを作ったので、リンクさせていただきました。
> 作ったばかりで何もないですけど、良かったらそのうち見に来てください。

見て来ましたよ。50番ゲットしました。
こちらからもリンクさせて頂きますね。





880 Re: TEditorって素晴らしい コメント数:  0件
  本田勝彦  |  2000/12/01 (金) 00:03
 http://member.nifty.ne.jp/~katsuhiko
> 本田さん、はじめまして。
> 先ほど@niftyのほうから送金させていただきました(ID:GCH06715)。

ありがとうございます。
ハンドル名が変わったんですね。わかりませんでした。

> 私もアウトラインエディタを公開しているんですが、これまでRichEditの
> 派生コンポをベースに独自に改造したものを使ってきたんですが、いい加減
> 嫌気がさしてきまして (^^; これからTEditorを使わせていただこうと思い
> ます。

どもども(^^)

> いくつか要望もありますので、改めてこちらのほうに書かせていただきます。
> よろしくお願いします。

お手やわらかにお願い致します。



879 リンクさせていただきました コメント数:  1件
  Km   |  2000/11/30 (木) 21:14
 http://homepage2.nifty.com/Km/
本田さん、こんにちは。
最近ホームページを作ったので、リンクさせていただきました。
作ったばかりで何もないですけど、良かったらそのうち見に来てください。



878 TEditorって素晴らしい コメント数:  1件
  ふく郎  |  2000/11/30 (木) 18:59
 http://www05.u-page.so-net.ne.jp/qb3/toshi-j/eMemoPad/
本田さん、はじめまして。
先ほど@niftyのほうから送金させていただきました(ID:GCH06715)。

私もアウトラインエディタを公開しているんですが、これまでRichEditの
派生コンポをベースに独自に改造したものを使ってきたんですが、いい加減
嫌気がさしてきまして (^^; これからTEditorを使わせていただこうと思い
ます。

いくつか要望もありますので、改めてこちらのほうに書かせていただきます。
よろしくお願いします。



877 Re: ver1.68 コメント数:  0件
  本田勝彦  |  2000/11/30 (木) 16:47
 http://member.nifty.ne.jp/~katsuhiko
> ver1.68にて、DrawUnderline及びHideUnderlineの
>
> MoveTo(LeftMargin, Y);
>
> は
>
> MoveTo(FMargin.FLeft, Y);
>
> でないとコンパイルできない気がします。

あ゛(^^;;;;
そですね。Pen.Width を追加する際にやってしまったようです。
近日中に修正版を上げますです。m(_ _)m



876 ver1.68 コメント数:  1件
  DEKO   |  2000/11/30 (木) 11:38
 http://homepage1.nifty.com/
ver1.68にて、DrawUnderline及びHideUnderlineの

MoveTo(LeftMargin, Y);



MoveTo(FMargin.FLeft, Y);

でないとコンパイルできない気がします。

#あれ?ver1.68使ってるのボクだけ...(^^?



875 Re^3: TEditor へ要望です。 コメント数:  0件
  本田勝彦  |  2000/11/30 (木) 01:27
 http://member.nifty.ne.jp/~katsuhiko
> TEditor では 実際の文字列を表示側で持つ構造になっていますが、
> このあたりがボトルネックになっているようですね。

おっしゃる通りです。いざ鎌倉の時点で、何行目のデータを表示するのかを取得
したり、さらには折り返し処理を行うという方式は初期の私の開発環境ではまった
くパフォーマンスが出なかったというのがその理由です。

>  エディタのデータ構造を記した資料はほとんど見かけませんけど、
> 以下に少しだけありましたので参考になるかもしれません。
>
> http://hp.vector.co.jp/authors/VA007799/vivi.htm

情報ありがとうございます。見てきました。非常に美しいクラス設計が
されているようですね。参考にしたいと思います。



874 Re^2: TEditor へ要望です。 コメント数:  1件
  DR-X   |  2000/11/29 (水) 08:56

>すいませんね。これは TEditor が出来ないことのウチの横綱級項目です。

 やはり、そうですか。

TEditor では 実際の文字列を表示側で持つ構造になっていますが、
このあたりがボトルネックになっているようですね。
 エディタのデータ構造を記した資料はほとんど見かけませんけど、
以下に少しだけありましたので参考になるかもしれません。

http://hp.vector.co.jp/authors/VA007799/vivi.htm

 それでは。



873 Re: TEditor へ要望です。 コメント数:  2件
  本田勝彦  |  2000/11/29 (水) 00:25
 http://member.nifty.ne.jp/~katsuhiko
> TEditor で WordWrap が True のとき、WrapByte を変更
> すると アンドゥバッファがクリアされてしまいます。

そういう仕様です。文字列を更新(手入力やペーストなど)する際、該当行の
現状を保存してから更新しています。でないと元に戻せませんね。(^^;
この保存データがクセモノでして、更新によって変更を受ける行数を保持して
います。元に戻す時はその行数を削除してから保存文字列を挿入しています。

WrapBybe が変更されるということは、このデータ内の行数に加えて、Row, Col 値
又、保存された文字列自体も全く不正な値になってしまい、結局クリアせざるを
得ないという仕様です。

>  これは非常に深刻な問題で、たとえばウインドウの右端で折
> り返すために WrapByte をリサイズイベントで変更する場合、
> 大きさを変えるたびにアンドゥが出来なくなってしまいます。

すいませんね。これは TEditor が出来ないことのウチの横綱級項目です。



872 Re^2: TEditorの拡張方法 コメント数:  2件
  本田勝彦  |  2000/11/29 (水) 00:10
 http://member.nifty.ne.jp/~katsuhiko
新しい TEditor の派生コンポーネントをパッケージに追加して利用する
という方式になります。Q&Aを更新しましたので、見てやって下さい。




871 TEditor へ要望です。 コメント数:  3件
  DR-X   |  2000/11/28 (火) 19:59

 本田さん、こんにちは。

 最近、レジストしたばかりでいろいろ試しているところ
なのですが、要望(バグ?)がありますのでお願いいたします。

TEditor で WordWrap が True のとき、WrapByte を変更
すると アンドゥバッファがクリアされてしまいます。
 これは非常に深刻な問題で、たとえばウインドウの右端で折
り返すために WrapByte をリサイズイベントで変更する場合、
大きさを変えるたびにアンドゥが出来なくなってしまいます。

 おそらく構造的にできないのでクリアしているのだと思いま
すが、なにかの機会に検討していただければうれしいです。

 それでは失礼します。



870 Re: TEditorの拡張方法 コメント数:  3件
  Km   |  2000/11/28 (火) 08:25
> popupmenuの拡張はTEditorを拡張してくださいとFAQに記載されています。
> この方法がわかりません。(わ、怒らないで・・・)
>
> 具体的には
> 1.HEditor.pasにFAQにあるコードを追加する。
> まではわかるのですが(既に違うとか・・)
> この修正したPASはMyEditor.pasとして保存するのでしょうか。
>
> もしそうならばいったんTEditorをコンポからアンインストールして
> 新たにMyEditor.pasをインストールするのでしょうか?
> でもTEditorのインストールはheditreg.pasを登録しますよね。
> となると修正したHEditor.pasは同名のまま保存して再コンパイル
> なのか・・・。
>  そうするとTeditorがバージョンアップするたびにこのコード修正は
> やるのかな、などと基本が判っていないためにいろいろな疑問が湧いて
> おります。

一番手っ取り早いのは、TPopupMenu コンポーネントを使う
ことだと思います。そうすればバージョンアップを気にせず
にいられます。他アプリケーションで同じPopupをにしたい
ときもフォームからコピーしてやればそれで済みますよ。



869 TEditorの拡張方法 コメント数:  4件
  多摩の岳夫  |  2000/11/28 (火) 01:38
はじめまして。TEditorはフリーの頃から拝見しております。
とてもすばらしいコンポなんで是非使いたいのですが、
基本的なことを教えてくださいませ。

popupmenuの拡張はTEditorを拡張してくださいとFAQに記載されています。
この方法がわかりません。(わ、怒らないで・・・)

具体的には
1.HEditor.pasにFAQにあるコードを追加する。
まではわかるのですが(既に違うとか・・)
この修正したPASはMyEditor.pasとして保存するのでしょうか。

もしそうならばいったんTEditorをコンポからアンインストールして
新たにMyEditor.pasをインストールするのでしょうか?
でもTEditorのインストールはheditreg.pasを登録しますよね。
となると修正したHEditor.pasは同名のまま保存して再コンパイル
なのか・・・。
 そうするとTeditorがバージョンアップするたびにこのコード修正は
やるのかな、などと基本が判っていないためにいろいろな疑問が湧いて
おります。

 お手数ですが、よろしくお願いします。



868 TEditor 2.01 コメント数:  0件
  本田勝彦  |  2000/11/28 (火) 01:38
 http://member.nifty.ne.jp/~katsuhiko
を公開致しました。

全角記号を表示させた時フリーズしていたバグを修正しました。

unix などで作成された #10 のみを改行マークとするファイル読み込みに
対応しました。

その他細かい修正

project1.lzh も更新されています。

どうぞお試し下さい。



867 Re^3: TEditor2.00が固まります コメント数:  0件
  本田勝彦  |  2000/11/27 (月) 23:11
 http://member.nifty.ne.jp/~katsuhiko
> No.が1文字になっている文字があり、これが引っかかってました。
> 本田さんのKouさんへのコメントにあった改造をしたとことろ固まらなくなりました。

お手数をお掛けいたしました。DBSymbolProc の修正版を書き込みましたので
修正の方よろしくお願い致します。

明日にでも新版を公開したいと思います。



866 Re^4: TEditor 2.00 コメント数:  0件
  本田勝彦  |  2000/11/27 (月) 23:08
 http://member.nifty.ne.jp/~katsuhiko
> 付属のデモの動作は問題なく、デモ上に表示しているサンプルのソース
> がおかしい様です。

先日来の DBSymbolProc のバグが原因のようです。お手数ですが
修正の上お試しいただけるとありがたいです。

> > Caret.BackSpaceUnIndent プロパティを False にしてもらえばだいじょぶです。
>
> 変えたところ治りましたが、デフォルトではFalseにしておいた方が良いような気がします。

いやだ(^^;;;
好きなんだも〜ん < BackSpaceUnIndent




865 TEditor 2.00 のバグ対策 コメント数:  0件
  本田勝彦  |  2000/11/27 (月) 23:05
 http://member.nifty.ne.jp/~katsuhiko
全角記号を表示させると固まってしまうバグがありました。
HEditor.pas 3,585行目からの procedure TEditorParser.DBSymbolProc;
を以下のように書き換えて下さい。

procedure TEditorParser.DBSymbolProc;
// #$81, #$84..#$87
// #$83-#$9F..#$F0
begin
FToken := toDBSymbol;
if (FP^ in [#$81, #$84..#$87]) or
((FP^ = #$83) and ((FP + 1)^ in [#$9F..#$F0])) then
Inc(FP, 2);
end;

これで固まる現象と、サンプルプロジェクトの全角文字の明示も
きちんと動作するようになります。

お手数をお掛けいたしますがよろしくお願いいたします。

ヘルプファイルにも、toStrings を返すなどの記述があり、このあたりも
修正したバージョンを明日にでもアップロードしたいと思います。




864 Re^3: TEditor 2.00 コメント数:  1件
  うらら  |  2000/11/27 (月) 09:14
> > 大変ご苦労様でした。
>
> どうもです。(^^)
>
> > 1.デモプログラム中のprocedure TForm1.Editor1DrawLine();
> > をコピーして使ったら動作がおかしい様です。(たぶん更新忘れ)
>
> 付属のデモでは動作してますでしょうか?

付属のデモの動作は問題なく、デモ上に表示しているサンプルのソース
がおかしい様です。

> > 2.ハードタブと全角スペースの連続後に、BSキーを押すと
> > 思いっきり、前まで消してしまう。
> > 仕様でしょうか?
>
> Caret.BackSpaceUnIndent プロパティを False にしてもらえばだいじょぶです。

変えたところ治りましたが、デフォルトではFalseにしておいた方が良いような気がします。



863 Re^2: TEditor2.00が固まります コメント数:  1件
  Km   |  2000/11/27 (月) 08:29
> これもパーサーの動作が怪しい気がします。Kou さんのおっしゃるような
> 文字は入っていないでしょうか?
>
> procedure TEditorScreenStrings.LastTokenBracket
> がある、4,383行目に
>
> TForm(Client.Owner).Caption := S;
>
> の1行を挿入して頂けると、パースによって固まる文字列が判明しますので、
> お試し頂けると有り難いです。

No.が1文字になっている文字があり、これが引っかかってました。
本田さんのKouさんへのコメントにあった改造をしたとことろ固まらなくなりました。
4MB(10万行以上)のテキストを4つほどスクロールさせて見ましたが、固まりませんでした。大丈夫なようです。



862 Re^3: バグでしょうか? コメント数:  0件
  本田勝彦  |  2000/11/27 (月) 00:39
 http://member.nifty.ne.jp/~katsuhiko
procedure TEditorParser.DBSymbolProc;
// #$81, #$84..#$87
// #$83 and #$9F..#$F0
begin
FToken := toDBSymbol;
while (FP^ in [#$81, #$84..#$87]) or
((FP^ = #$83) and ((FP + 1)^ in [#$9F..#$F0])) do
Inc(FP, 2);
end;

として見て下さい。Zも表示出来るようです。



861 Re: TEditor2.00が固まります コメント数:  2件
  本田勝彦  |  2000/11/27 (月) 00:27
 http://member.nifty.ne.jp/~katsuhiko
> TEditor2.00をBCB5で動かしました。
> サンプルとして90KB程度のファイルを読み込み、この状態から
> スクロールをさせ続けていると固まります。
> 1.75に戻して試したら問題ありませんでした。

レポートありがとうございます。
これもパーサーの動作が怪しい気がします。Kou さんのおっしゃるような
文字は入っていないでしょうか?

procedure TEditorScreenStrings.LastTokenBracket
がある、4,383行目に

TForm(Client.Owner).Caption := S;

の1行を挿入して頂けると、パースによって固まる文字列が判明しますので、
お試し頂けると有り難いです。



860 Re^2: バグでしょうか? コメント数:  1件
  本田勝彦  |  2000/11/27 (月) 00:21
 http://member.nifty.ne.jp/~katsuhiko
レポートありがとうございます。バグです。はい。

> { -- バグと思われる
> while (FP^ = #$83) and ((FP + 1)^ in [#$9F..#$F0]) do
> Inc(FP, 2);
> }
> // バグ対応のため追加
> while FP^ in [#$84..#$87] do
> Inc(FP, 2);
>
> はずしてますでしょうか(^^;;

#$83 の後に続く #$9F..#$F0 の面倒も見なければなりませんので、
ロジックを考えます少し時間を下さい。メールの件も合わせてご報告
させていただきますね。




859 TEditor2.00が固まります コメント数:  3件
  Km   |  2000/11/26 (日) 03:12
TEditor2.00をBCB5で動かしました。
サンプルとして90KB程度のファイルを読み込み、この状態から
スクロールをさせ続けていると固まります。
1.75に戻して試したら問題ありませんでした。



858 Re: バグでしょうか? コメント数:  2件
  Kou   |  2000/11/26 (日) 02:20
下記のように
procedure TEditorParser.DBSymbolProc;
の部分を変更して対応しましたが・・・?

procedure TEditorParser.DBSymbolProc;
// #$81, #$84..#$87
begin
FToken := toDBSymbol;
if FP^ = #$81 then
Inc(FP, 2);
{ -- バグと思われる
while (FP^ = #$83) and ((FP + 1)^ in [#$9F..#$F0]) do
Inc(FP, 2);
}
// バグ対応のため追加
while FP^ in [#$84..#$87] do
Inc(FP, 2);
end;

はずしてますでしょうか(^^;;




857 バグでしょうか? コメント数:  3件
  Kou   |  2000/11/26 (日) 00:41
ご苦労様です。
バージョン2を試していますが、
バグかと思いまして、ご報告いたします。
Zのような文字を入力すると描画される前にフリーズします。
別途配布されていますproject1でも同様の現象が出ますので、
バグかと思われるのですが・・・。



856 Re^2: TEditor 2.00 コメント数:  2件
  本田勝彦  |  2000/11/25 (土) 21:41
 http://member.nifty.ne.jp/~katsuhiko
> 大変ご苦労様でした。

どうもです。(^^)

> 1.デモプログラム中のprocedure TForm1.Editor1DrawLine();
> をコピーして使ったら動作がおかしい様です。(たぶん更新忘れ)

付属のデモでは動作してますでしょうか?

> 2.ハードタブと全角スペースの連続後に、BSキーを押すと
> 思いっきり、前まで消してしまう。
> 仕様でしょうか?

Caret.BackSpaceUnIndent プロパティを False にしてもらえばだいじょぶです。




855 Re: TEditor 2.00 コメント数:  3件
  うらら  |  2000/11/25 (土) 13:56
> を公開致しました。bata は付いていません。
大変ご苦労様でした。

只今、奮闘しての実装中ですが、ちょっと問題があるようです。
1.デモプログラム中のprocedure TForm1.Editor1DrawLine();
をコピーして使ったら動作がおかしい様です。(たぶん更新忘れ)

2.ハードタブと全角スペースの連続後に、BSキーを押すと
思いっきり、前まで消してしまう。
仕様でしょうか?

以上疑問に思った点です。



854 Re^6: TEditor 2.0 beta コメント数:  0件
  本田勝彦  |  2000/11/24 (金) 23:31
 http://member.nifty.ne.jp/~katsuhiko
>  Parser換装ができると「基本的に」表現できない構文はありませんからね。トークン文字がParser毎に変わるので検索/置換等の「ワード単位で検索」等の実装がちょっとだけ手間になるかもしれませんが...。

検索に parser を利用する場合はそうなるかもしれませんね。

「以前正規表現からパーサーを動的に生成して」などとほざいておりましたが(^^;
パースすることと正規表現検索することの違いへの「気づき」が今回のバージョン
作成途上ではありました。

hedit200.lzh 内に parsers.pas というサンプルが入っていますが、
ここに THTMLParser を実装しようとしてちょっと挫折気味です(^^;

個人的には TokenToEditorColor の実装が実は気に入っていません。
このあたりもご意見を頂けると有り難いです。



853 Re^3: TEditor 2.0 beta コメント数:  0件
  本田勝彦  |  2000/11/24 (金) 23:25
 http://member.nifty.ne.jp/~katsuhiko
> とても楽しみにしています。がんばってください。

ありがとうございます。公開いたしましたので、お試し下さいませ。



852 TEditor 2.00 コメント数:  4件
  本田勝彦  |  2000/11/24 (金) 23:23
 http://member.nifty.ne.jp/~katsuhiko
を公開致しました。bata は付いていません。

ホームページの容量を越えたらしく、アップロード出来なくて少し焦りました。
昔の .lzh を少し削除しちゃいました。

Parser がいじり倒し放題になってます。
本当に凝ったことをしようとすると、大変な領域に入って行きそうな予感は
依然あるにはあるのですが、

その辺も含めてご意見など頂けると有り難いです。



851 Re^5: TEditor 2.0 beta コメント数:  1件
  DEKO   |  2000/11/24 (金) 16:20
 http://homepage1.nifty.com/
> 間もなく公開出来ます。

 楽しみにしております>Parser換装型TEditor(ですよね?)

 Parser換装ができると「基本的に」表現できない構文はありませんからね。トークン文字がParser毎に変わるので検索/置換等の「ワード単位で検索」等の実装がちょっとだけ手間になるかもしれませんが...。