~katsuhiko メッセージボード

back 2201-2250

2251-2300

2301-2350


2300 Re: EMGetLineについて。 コメント数:  7件
  本田勝彦 2002/07/24 (水) 17:10
var
R: Integer;
S: String;
begin
R := Editor1.Row;
SetLength(S, 255);
SendMessage(Editor1.Handle, EM_GETLINE, R, Longint(PChar(S)));
Label1.Caption := S;
end;

で取得出来ました。Edit1 で旨くいったコードを見せて頂けると私が実装で勘違いしている部分が判明するかもしれません。


が、TEditor のプロパティを使うともっと簡単に取得出来ます。

Label1.Caption := Editor1.ListString(Editor1.Row);

などです。



2299 環境は、Win98とIE4です。(本文無し。) コメント数:  0件
  Fox 2002/07/24 (水) 00:50
>



2298 EMGetLineについて。 コメント数:  9件
  Fox 2002/07/24 (水) 00:37
こんばんは、本田さん。

TEditorのEMGetLine について、質問があります。
(ソースの質問は、不味いでしょうか?)

他のプログラムから、EM_GETLINEを発行して、文字列を取得しようと、
試したのですが、ダメでした。
標準のEditだと上手く行くのです。
私は、Delphiを遣ったことがないのですが、EMGetLine内の、
System.Moveは、他のプログラムの変数に書き込みできるのでしょうか?
出来ない場合は、どうしたらいいのでしょう?

以上、宜しくお願いします。





2297 Re^8: HviewEditorでのTButton? コメント数:  0件
  kitamura   | 2002/07/20 (土) 13:46
> ----------------------------
> unit Unit2;
---------------------------- ---- ---
> end.
> ----------------------------

これで確認させてもらいました。
気持ちよく閉じてくれました。

安心してこれでいいのだといってやりましょう。
(・・・・・自分に対してですが。)
お世話かけました。



2296 Re^8: HviewEditorでのTButton? コメント数:  0件
  本田勝彦 2002/07/20 (土) 13:06
HViewEdit.pas, .dfm のボタンを TMakatiButton に置き換える実験も行いましたが、きちんと期待通りの動作をしてくれるようです。



2295 Re^7: HviewEditorでのTButton? コメント数:  2件
  本田勝彦 2002/07/20 (土) 13:00
----------------------------
unit Unit2;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, MaktBtn;

type
TForm2 = class(TForm)
MakatiButton1: TMakatiButton;
MakatiButton2: TMakatiButton;
public
class function Execute: Boolean;
end;

var
Form2: TForm2;

implementation

{$R *.DFM}

class function TForm2.Execute: Boolean;
var
Form: TForm2;
begin
Form := TForm2.Create(Application);
try
Result := Form.ShowModal = mrOk;
finally
Form.Free;
end;
end;

end.
----------------------------



2294 Re^6: HviewEditorでのTButton? コメント数:  3件
  本田勝彦 2002/07/20 (土) 12:59
ダウンロードして試して見ましたが、きちんと閉じるようです。
-------------------------------
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;

var
Form1: TForm1;

implementation

uses Unit2;

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
TForm2.Execute;
end;

end.
-------------------------------



2293 Re^5: HviewEditorでのTButton? コメント数:  4件
  kitamura   | 2002/07/20 (土) 01:36
> MaktButton は何処で入手出来ますか?

Delphian WorldのButtonの項目の最初で紹介されてます。
http://home1.infonia.ne.jp/~delphian/delphi/

私の実力の無さがそもそもなんですが、そういったものが楽しめるのは
TEditorコンポーネントがあればこそで、
さらに言えば理解してから使うのではなく、使いながら理解できたらいいなあ
というのでやらせてもらってます。



2292 Re^4: HviewEditorでのTButton? コメント数:  5件
  本田勝彦 2002/07/19 (金) 23:41
> FountainEditorでは問題ないのはおかしいともう一度MaktButtonにすると

MaktButton は何処で入手出来ますか?



2291 Re^3: HviewEditorでのTButton? コメント数:  6件
  kitamura   | 2002/07/19 (金) 14:19
> これはButtonのコンポーネントをもっと調べた方がよいですね。
> 作者は単にTButtonから派生していてと書いていて、
>  ModalResultはmbCancel,Cancel=Trueに設定したのですが。
>
ButtonをTButtonに戻して、やはりよく考えると
FountainEditorでは問題ないのはおかしいともう一度MaktButtonにすると
OKです。
多分OnClickイベントを作って、消して、が問題なんでしょうか。
実際にはOnClick イベントは無いです。

(TEditorとの関係がないのかもしれませんね)




2290 Re^2: HviewEditorでのTButton? コメント数:  7件
  kitamura   | 2002/07/18 (木) 17:22
これはButtonのコンポーネントをもっと調べた方がよいですね。
作者は単にTButtonから派生していてと書いていて、
 ModalResultはmbCancel,Cancel=Trueに設定したのですが。

訂正 TBitBtnではありません。別のコンポーネントでした。
それとボタンの色には拘っていて、50過ぎのおっさんの割にはデザインには
うるさいので。





2289 Re: HviewEditorでのTButton? コメント数:  8件
  本田勝彦 2002/07/18 (木) 13:36
> HviewEditorでのキャンセルボタンはTButtonですが、TBitBtnにすると
> 閉じてくれません。TButtonだと何故とじてくれるのか、当たり前すぎて
> 調べようが無く、泣きつきました。

該当ボタンの ModalResult プロパティを調べて見て下さい。
一度 VCL リファレンスマニュアルを通読されることをお勧め致します。



2288 HviewEditorでのTButton? コメント数:  9件
  kitamura   | 2002/07/18 (木) 11:00
HviewEditorでのキャンセルボタンはTButtonですが、TBitBtnにすると
閉じてくれません。TButtonだと何故とじてくれるのか、当たり前すぎて
調べようが無く、泣きつきました。



2287 Re^2: TEditor コンポーネントのEM_系メッセージについて。 コメント数:  0件
  Golo 2002/07/14 (日) 23:39
早速のレス有り難うございます。

調べ方が悪かったですね。(笑)

> がんばってね。

はい。頑張ります。



2286 Re: TEditor コンポーネントのEM_系メッセージについて。 コメント数:  1件
  本田勝彦 2002/07/14 (日) 18:46
> TEditor で対応済みのEM_系メッセージの一覧を知りたく、カキコしました。

heditor.pas の702行目からメッセージハンドラ一覧があります。

> Delphiでの開発経験は、0です。

がんばってね。



2285 TEditor コンポーネントのEM_系メッセージについて。 コメント数:  2件
  Golo 2002/07/14 (日) 17:34


本田さん こんにちは。

TEditor で対応済みのEM_系メッセージの一覧を知りたく、カキコしました。

FAQや、ヘルプ、TEditorのソースなどを見ても判りませんでした。
宜しくお願いします。
Delphiでの開発経験は、0です。



2284 Re^7: インストールについて(お礼) コメント数:  0件
  小林 2002/07/04 (木) 00:56
本当にどうもありがとうございました。
インストールできました。

自分が作成したパッケージは
Delphi6\lib\MyConponent というように
lib フォルダに新しく MyComponent というフォルダを作成して
その中にパッケージファイルを置いていたのですが、
これが原因だったみたいです。
他のコンポは特になにもおこらなかったので、あまり気に
してませんでした。

これを機会にもう少し勉強してみたいと思います。
本当にどうもありがとうございました。
それでは。



2283 Re^6: インストールについて コメント数:  1件
  kitamura   | 2002/07/03 (水) 22:38
> すいません。TEDitor は、インストールしていないもので・・。

コンポーネントのインストールはどこでもかまわないのです。
既存のパッケージにか、新しく作るかです。
どこかのパッケージを編集で開いて、追加、コンパイルすると
TEditorというページをつくって、そこにRegManager1が出来ます。
TEditorというページ以外にしたかったらRegmReg.pasの

procedure Register;
begin
RegisterComponents('TEditor', [TRegManager]);

の'TEditor'を変えればいいのです。ヴァージョンアップしたときのことなどを考えるとそのままでいいと思います。TEditorをインストールして無くても
かまわないはずです。





2282 Re^6: インストールについて コメント数:  0件
  本田勝彦 2002/07/03 (水) 22:26
kitamura さん、どうもです。試して見ました。

新規パッケージを作成し、regmreg.pas を追加
require に designide.dcp を追加

コンパイルしてインストール出来ました。



2281 Re^5: インストールについて コメント数:  3件
  小林 2002/07/03 (水) 21:58
アドバイスありがとうございます。とても助かります。

> RegManager1はRegmReg.pasをTEditorをインストールしたパッケージに
> 追加すればいいと思います。

すいません。TEDitor は、インストールしていないもので・・。
TEditor は、シェアウェアなのですけれど、TRegManager を使う為には、TEditor の購入しないといけないのでしょうか。

よろしくお願いいたします。



2280 Re^4: インストールについて コメント数:  4件
  kitamura   | 2002/07/03 (水) 21:32
> ですが、今度は、「RegmEdit.pas(200):未定義の識別子:'RegManager1'」
> とでてしまい、再びコンパイルできなくなってしまいました。

RegManager1はRegmReg.pasをTEditorをインストールしたパッケージに
追加すればいいと思います。実際はRegMng.pasがコンポーネントで、
青いアイコンが(TEditorの中では際立つ)登録されます。
それをRegmEdit.pasが参照しているので、す。

コンポーネントの登録はDelphiの性格が出てます。まるで融通が利かない
ことこの上ないですね。



2279 Re^3: インストールについて コメント数:  5件
  小林 2002/07/03 (水) 19:05
ありがとうございます。

>  ProgramFiles\borland\Delphi6\lib\designide.dcp(標準インストール)
> を選ぶ。

教えていただいたようにしましたら、エラーがなくなりました。
ありがとうございました。
ですが、今度は、「RegmEdit.pas(200):未定義の識別子:'RegManager1'」
とでてしまい、再びコンパイルできなくなってしまいました。

もしかしたら、コンパイルに順番があるのかなと思って、
全ての .pas をみてみたのですが、RegManager1 を使っているのは
このファイルだけみたいだったので、ちょっとわからなくなっていまいました。

アドバイス頂けませんでしょうか。何度もすみません。
よろしくお願いいたします。



2278 Re^2: インストールについて コメント数:  6件
  kitamura   | 2002/07/03 (水) 16:52
> > RegmProp.pas(16):ファイル'DesignIntf.dcu'が見つかりません。
> > と表示されて、コンパイルが出来なくなってしまいました。

 メニューの「コンポーネント」→「パッケージのインストール」→
設計時パッケージを選択して、編集ボタンで開く。
パッケージのダイアログが出たら、<Requires>を右クリックして、「追加」
をクリックして、「参照」でファイルを開く画面が出たら、
 ProgramFiles\borland\Delphi6\lib\designide.dcp(標準インストール)
を選ぶ。

でしたっけ。



2277 Re: インストールについて コメント数:  7件
  本田勝彦 2002/07/02 (火) 12:42
> RegmProp.pas(16):ファイル'DesignIntf.dcu'が見つかりません。
> と表示されて、コンパイルが出来なくなってしまいました。

作成されたパッケージに DesignIntf.dcu が追加されている必要がありますね。私はいつもデフォのパッケージにインストールするので・・・

何を追加すれば良いのでしたっけ?お詳しい方よろしくお願い致します。



2276 Re: BCB FountainEditorの使い方 コメント数:  0件
  本田勝彦 2002/07/02 (火) 12:37
> #feditor->Caption="設定";とすると実行時にエラーとなりました。

Execute が実行される前は実体が無いので手を出すことは出来ないと思います。

> #この設定画面のキャプション等はオリジナルを修正するしかないのかな?

か、Caption を受け取って Execute と同じ処理を行うような関数をこしらえるかして下さい。

でも、

>TFormFountainEditor *feditor;
>if (feditor->Execute(0, DelphiFountain1)) {

が実行出来ること自体が不思議と言えば不思議ですね。
type
 TFormFountainEditorClass = class of TFormFountainEditor;
var
 feditor: TFormFountainEditorClass;
ならば納得出来るのですが。



2275 BCB FountainEditorの使い方 コメント数:  1件
  Km   | 2002/07/02 (火) 04:55
Fountainの設定画面をBCBで使う方法です。

#include "FountainEditor.hpp"

void __fastcall TForm1::Button1Click(TObject *Sender)
{
TFormFountainEditor *feditor;
if (feditor->Execute(0, DelphiFountain1)) {
ShowMessage(int(DelphiFountain1->Ank->Color));
}
}

#この設定画面のキャプション等はオリジナルを修正するしかないのかな?
#feditor->Caption="設定";とすると実行時にエラーとなりました。



2274 インストールについて コメント数:  8件
  小林 2002/07/01 (月) 22:22
はじめまして。小林と申します。

コンポーネント TRegManager のインストールの途中で、
エラーになってしまい、自分では解決できなくなって
しまったので、どうかご教授ねがえないでしょうか。

readme.txt に載っていましたように、
regmreg.pas, regmreg.dcr, regmng.pas, regmprop.pas,
regmedit.pas, regmedit.dfm, heverdef.inc, hstreamutils.pas
の 8 個のファイルを 以前自分が作成したパッケージのある
フォルダに、上記のファイルをコピーをして、そのパッケージを開き、
上記の pas ファイルを追加しました。それから、RegMReg.pas を
コンパイルしようとしましたのですが、
RegmProp.pas(16):ファイル'DesignIntf.dcu'が見つかりません。
と表示されて、コンパイルが出来なくなってしまいました。

自分はまだ、既存のコンポーネントを派生して、そのデフォルトの
状態(色など)をいじって、オリジナルのコンポーネントを
作るくらいしか実力がありません。

どうかよろしくお願い致します。
Delphi6 professional  XP Home です。



2273 Re: Mailの表示で コメント数:  0件
  本田勝彦 2002/06/29 (土) 23:02
> DelphiFountainではUrl,Mailを拾わないのでしょうか。

これは、ヘルプの Fountain のトピックにもあるように、そういう仕様になっています。TDelphiFountain を拡張して url, mail を認識するパーサーとそれようの色情報を持ったコンポーネントを作成して下さい。



2272 Mailの表示で コメント数:  1件
  kitamura   | 2002/06/29 (土) 10:44
DelphiFountainではUrl,Mailを拾わないのでしょうか。
HTMLFountainでは拾えて、ダブルクリックのイベントハンドラーの
対象になります。
HViewEditorでCheckBox_MailをTrueにしても、
 http://atzun.nakayosi.jp
の//以降をコメントとして拾います。abc.htmlではOKです。
abc.txtでもOKです。
DefaultはFountainをあてがわないで、EditorProp_Defaultだけですね。



2271 Re: 行頭へのTAB挿入について コメント数:  0件
  本田勝彦 2002/06/28 (金) 21:47
SelTabIndent メソッドを実行すればお望みの動作が実現出来ると思います。
付属のサンプルのメニューの「編集|タブインデント」を参考にして見て下さい。



2270 行頭へのTAB挿入について コメント数:  1件
  M.H   | 2002/06/28 (金) 13:45
 http://www.mh-software.net/
こんにちは、細野です。

TEditorに直接関係ないかもしれませんが^^;

実は、選択行(複数)の行頭にTABを挿入したいのですが、
選択行の文字列を取得することはできるでしょうか?
たとえば、

あいうえお
かきくけこ

とあった場合、「う」と「え」の間から文字列が選択されていても
行頭にTABを挿入したいのです。

もしかして、ものすごく簡単なことでしたらすみません。



2269 Re^2: Windows98SE コメント数:  0件
  本田勝彦 2002/06/25 (火) 18:29
速攻のコメントありがとうございます。治りました(^^;いかったいかった

> 詳しくは…
> http://homepage2.nifty.com/winfaq/w98/trouble.html#74

リンクのページに追加してしまいました。



2268 Re: Windows98SE コメント数:  1件
  てらお   | 2002/06/25 (火) 17:20
 http://www2s.biglobe.ne.jp/~t-susumu/toclip/
ご無沙汰してます。てらおです。(^-^)

> ウチの Windows98SE が変になってしまいました。
> フォームの右上隅のボタンが_□×ではなくて 01β になりました。TCheckBox の描画も黒く潰れています。

一度セーフモードで起動すればいいと思います。
詳しくは…
http://homepage2.nifty.com/winfaq/w98/trouble.html#74



2267 Windows98SE コメント数:  2件
  本田勝彦 2002/06/25 (火) 17:09
つまらない質問で申し訳ないのですが。
ウチの Windows98SE が変になってしまいました。
フォームの右上隅のボタンが_□×ではなくて 01β になりました。TCheckBox の描画も黒く潰れています。

子供や嫁さんもちょーすマシンなのですが、怪しいメールは開いていないとのこと。

何かお心当たりのある方がいらっしゃいましたらアドバイス頂けますでしょうか?



2266 Re^2: EditFountainについて コメント数:  0件
  kitamura   | 2002/06/24 (月) 14:37
> TFromFountainEditor.Execute(Fountain);
> EditFountain(Fountain);
>
> で、どちらが判りやすいか?コーディングしやすいか?

SampleのUnit1.pasでは
if TFormsearch.Execute(FSearchValue,FSearchOptions) then Search;
となっていて、このパターンがフォームを呼び出す、と。
それが不安になっていたのですが、安心しました。



2265 Re: EditFountainについて コメント数:  1件
  本田勝彦 2002/06/24 (月) 12:36
> このようにするのはなぜですか。

格好付けてるだけです(^^;

TFromFountainEditor.Execute(Fountain);
EditFountain(Fountain);

で、どちらが判りやすいか?コーディングしやすいか?程度の差だと思います。



2264 EditFountainについて コメント数:  2件
  kitamura   | 2002/06/24 (月) 10:49
FountainEditor に関数EditFountainが二つあって、ひとつは
TFormFountainEditor.Execute(Fountain)を実行しているだけですが。
このようにするのはなぜですか。



2263 Re^3: 描画中の例外 コメント数:  0件
  sakazuki   | 2002/06/17 (月) 23:19
 http://homepage2.nifty.com/sakazuki/rde.html
sakazukiです。
> このプロジェクト、Synchronizeで同期を取らずにVCLオブジェクトを操作しているようですが、問題ないのでしょうか。
> ヘルプには、メインスレッドでないスレッドからVCLを操作するにはSynchronizeを使用するというような記述があります。

ドンピシャでした。スレッド同期の問題でした。
Doscommandのコンポーネントにもスレッドの排他処理まわりでバグがありました。
共に、Synchronizeを使うことで例外も発生しなくなりました。
ありがとうございました。お騒がせしました。




2262 Re^2: 描画中の例外 コメント数:  1件
  にしの 2002/06/17 (月) 17:24
> sakazukiです。
>
> 説明が分かりにくかったですね。すみません。DosCommandは、存在しないファイルを
> 指定すると落ちます。デフォルトで、Dドライブにrubyが入っていることを前提にし
> てます(Edit1の値がそれです)ので、rubyが入っていないと、Doscommandでの例は試
> せません。Thread start/stopは、どの環境でもテストできると思います。

ちょっと複雑すぎて、僕にはソースを読み切れませんでした。
時間があれば読めるんですが…。
ということで、新規にスレッドを使ったプロジェクトを作り、見比べてみました。
単純なスレッドなので、同じような現象は起きませんでした。

ただ、Synchronizeを使った場合と、使わない場合では、Synchronizeを使わない場合にTEditorの描画の乱れが生じました。
その後、しばらくするとスレッドが終了しました(IDEで実行しましたが、エラーになりませんでした)。

このプロジェクト、Synchronizeで同期を取らずにVCLオブジェクトを操作しているようですが、問題ないのでしょうか。
ヘルプには、メインスレッドでないスレッドからVCLを操作するにはSynchronizeを使用するというような記述があります。



2261 Re: 描画中の例外 コメント数:  2件
  sakazuki   | 2002/06/17 (月) 16:00
sakazukiです。

にしの <> wrote:

> まだソースを追っている最中ですが、スレッドやWhileループを使わなくても、doscommandボタンを押すとエラーが出ます。
> TEditorの問題ではないように見えますが。

説明が分かりにくかったですね。すみません。DosCommandは、存在しないファイルを
指定すると落ちます。デフォルトで、Dドライブにrubyが入っていることを前提にし
てます(Edit1の値がそれです)ので、rubyが入っていないと、Doscommandでの例は試
せません。Thread start/stopは、どの環境でもテストできると思います。

> それと、OutputLinesプロパティは、TStringsの変数に=で入力するより、Assignして内容だけコピーするようにした方がよいと思います。

用途が、コンソールウィンドウのエミュレータなので、都度Assignだとちょっと合わ
ないのです。



2260 Re^3: 描画中の例外 コメント数:  0件
  にしの 2002/06/17 (月) 15:55
> まだソースを追っている最中ですが、スレッドやWhileループを使わなくても、doscommandボタンを押すとエラーが出ます。
> TEditorの問題ではないように見えますが。

TEditorをTMemoに置き換えても、同様のエラーが起きました。
usesから、HeditorなどTEditor関連のユニットは取り去り、TMyEditor=class(TMemo)に置き換え、GotoLastをコメントアウトしてテストしました。



2259 Re^2: 描画中の例外 コメント数:  4件
  にしの 2002/06/17 (月) 15:45
まだソースを追っている最中ですが、スレッドやWhileループを使わなくても、doscommandボタンを押すとエラーが出ます。
TEditorの問題ではないように見えますが。

それと、OutputLinesプロパティは、TStringsの変数に=で入力するより、Assignして内容だけコピーするようにした方がよいと思います。



2258 Re: 描画中の例外 コメント数:  5件
  sakazuki   | 2002/06/16 (日) 14:05
 http://homepage2.nifty.com/sakazuki/rde.html
> 一応再現ソースをhttp://homepage2.nifty.com/sakazuki/Project1.lzhに置きました。Thread start,stopだと発生確率は高いです。
再現ソースの説明を。

(1)while loopは、単純にループからTEditorに書き込む。これでは例外は発生しません。
(2)doscommandは、私が実際に使っている環境の処理でrubyの標準出力をTEditorに書き込んでいます。これで凍る症状によく遭遇します。
(3)thread start/stopは、doscommandのロジックの主要部分のみを抜き出してエミュレートさせてみたものです。これでも凍る症状によく遭遇します。

環境は、XP, 2000, Delphi5Pro+UpdatePack1です。Win98で試したら、凍るのではなくブルー画面となりました。
DelphiIDEからデバッグ版DCUを使って実行すると、例外発生箇所がトレースできます。



2257 描画中の例外 コメント数:  6件
  sakazuki   | 2002/06/16 (日) 09:45
 http://homepage2.nifty.com/sakazuki/rde.html
sakazukiです。
Threadから、TEditorのLinesに対して書き込みをする処理をしているのですが、タイミングの問題で描画処理中に例外でて凍ってしまいます。
TEditorの描画処理内ではHandleAllocatedや、Showingで判定をおこなっていますが、その判定を通ったあとに、Handleが無効になったりするケースやFFontWidthが0になるケースがあり、そこで正常処理に復帰できず凍ります。
私の場合、
InitDrawInfoのGetTextMetrics(Canvas.Handle, TM);
HideRulerMarkのCanvas.CopyRect(D, FRulerBase.Canvas, S);
InitOriginBase
などで遭遇しました。
具体的にどこにというのは、難しいのですが、描画系の処理にtry, exceptの例外を拾う処理を加えませんか?(私の場合上記の場所に例外処理を加えることで、凍ることを回避できました。)
一応再現ソースをhttp://homepage2.nifty.com/sakazuki/Project1.lzhに置きました。Thread start,stopだと発生確率は高いです。
よろしくお願いします。



2256 Re: PL/SQL 用 Fountain コメント数:  0件
  本田勝彦 2002/06/12 (水) 20:14
おぉ、有り難うございます。
さっそくリンクのページで紹介させて頂きます。



2255 PL/SQL 用 Fountain コメント数:  1件
  パンタグラフ  | 2002/06/12 (水) 09:42
 http://homepage1.nifty.com/cosmic/
先月まで、Oracle のストアドプロシージャを書きまくっていたので、
Oracle で使える PL/SQL 用の Fountain コンポーネントを作ってみました。
もちろん普通の SQL でも使えます。お試しください。





2254 Re^4: TFountain.InitReserveWordList コメント数:  0件
  本田勝彦 2002/06/09 (日) 16:05
オソなりました。すいません。

> これが出来るのは知ってるんですが、現状のコンパイラならいいですが、
> Delphi.NET では大丈夫ですかねー。

Kylix 並みに変更が加えられるのであれば、どの道修正作業は避けられないのだろうなという思いはあります。私のスキルがついて行ければの話しですが。

> > TargetFountain.ReserveWordList.Clear; // 追加して下さい。
>
> これって、TFountain.InitReserveWordList 内でやってもらったほうが
> 良いような気もします。

CreateSortedList を override しちゃってる人が居ると悲惨ですよね(^^;
ReserveWordListDefault のようなメソッドを用意するのが良さそうに思いますが、この件は保留にさせて下さい。



2253 Re^2: ライトプロテクト? コメント数:  0件
  はら  | 2002/06/07 (金) 16:44
にしのさん、こんにちは

> 特別な理由がないのなら、ReadOnly:=True;で、Lines.Add(文字列);していけばいいと思いますが、どうでしょう。

これで上手くいきました。

これまで、文字列を挿入する処理でSelTextを使用する場面
しかなかったもので、この方法に気付きもしませんでした。

勉強になりました。ありがとうございました。





2252 Re: ライトプロテクト? コメント数:  1件
  にしの 2002/06/07 (金) 15:24
> 私が作成しているアプリに、プログラム処理の進行状況を表示する
> 「ログ表示ウインドウ」のようなものがあり、この表示にTEditor
> を使用したいと考えています。これは、プログラム実行時に発生し
> たイベント(エラーが発生したよ、とか)をSelTextでTEditorに
> 表示するという、単純なものです。

SelTextを使う、特別な理由はありますか?

特別な理由がないのなら、ReadOnly:=True;で、Lines.Add(文字列);していけばいいと思いますが、どうでしょう。



2251 ライトプロテクト? コメント数:  2件
  はら  | 2002/06/07 (金) 15:19
本田さん、こんにちは。
TEditorを使用させて頂いています、はらと申します。

TEditorの機能について質問です。

私が作成しているアプリに、プログラム処理の進行状況を表示する
「ログ表示ウインドウ」のようなものがあり、この表示にTEditor
を使用したいと考えています。これは、プログラム実行時に発生し
たイベント(エラーが発生したよ、とか)をSelTextでTEditorに
表示するという、単純なものです。

ログ表示に必要な機能として、

1.ユーザがTEditorにGUIでの記入ができないこと
2.ユーザの操作によってログの文字列が崩れないこと
3.スクロールを行なうことができること

という3点があります。このような機能を実現するにはTEditor
を改造しなければ無理でしょうか?

ReadOnlyプロパティをTRUEにした場合、1.と3.は満たすのです
が、2.に不都合があります。これは、ユーザがTEditorのキャレット
を動かした場合、次回のログ採集・表示時にキャレット位置から文字
を挿入してしまうためです。

文字では内容が伝わり難いと思いますが、ご意見等、よろしくお願い
します。