pasteを使うには

解決


altlegend  2011-03-09 08:16:27  No: 40215

delphi7で作ったメモ帳みたいなものをdelphi2009でコンパイルすると、ENTERキーを押しても改行しない、クリップボードから貼り付けできないという現象が起こっています。
pasteの使い方を教えてください。

procedure TFormFiler.Paste1Click(Sender: TObject);
begin
  RichEdit1.PasteFromClipboard;
  Cancel1.Enabled := True;
end;


igy  2011-03-10 06:22:14  No: 40216

Delphi2009のプロジェクトに TRichEditを置き、ボタンのクリックイベントで、
PasteFromClipboard メソッド
を呼ぶコードを書いて試したところ、
TRichEdit でENTERキーを押したら改行しますし、
ボタンをクリックすると、クリップボードから貼り付けできました。

新規プロジェクトでも、その現象は起きますか?


altlegend  2011-03-10 15:05:39  No: 40217

ありがとうございました。

この現象が起きているのは4000行くらいのデータを呼び込んだ後です。
STRINGLISTを使って呼び込んでるんですが。

また、書き込みしますので、よろしくです。


altlegend  2011-03-12 16:28:16  No: 40218

delphi7でコンパイルした分は、4000行近くのデータを読み込んだ後でも、改行・貼り付けはできます。
最新のXEでもだめらしいんで、unicordに変わったせいで文字数がRichEditの上限を越えてるんでしょうか??


けど  2011-03-13 20:07:09  No: 40219

Delphi2009 49,000 行のテキストで確認しました
D5 では出来ることが確かに出来ませんね

1000 行ほどを読み込んで、その後どんどんペーストしていくと
4276 行(68790)で打ち止めになります

で、「RichEditはデフォルトで64K(32Kだったかも?)の制限が付いている」
という 1997 の頃のバグが復活しているのではないでしょうか?
起動時に
RichEdit1.MaxLength:=2100000000;
を入れれば 16 万行でもいけました(ここの制限はOSによると思います)


ウォレス  2011-03-14 18:15:37  No: 40220

D2010+WinXpSp3でも同様の現象が確認できました。
さしあたり JvRichEdit を使えば上記バグは発生しない模様です。


altlegend  2011-03-16 02:35:37  No: 40221

ありがとうございました。
できるようになりました。

delphiでプログラムしていると、なかなか解決困難なことが多くて困っていました。
これからはここで質問させていただきます。
また、よろしくです。

本当にありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加