componente memo - win98

Delphi

04/05/2007

Tenho uma rotina que vai adicionando informações em um memo e depois grava em arquivo.
O problema é que o memo aceita até um limite de tamanho no win98.
mesmo deixando o maxlenght 0. Chega um momento que ele para de inserir informações....
No xp não dá erro. É só no win98.

Alguém poderia me ajudar???


Briciosm

Briciosm

Curtidas 0

Respostas

Massuda

Massuda

04/05/2007

Isso é uma limitação do Win9x, não tem como contornar.

A solução é usar um TRichEdit (aba Win32) no lugar do TMemo; configure TRichEdit.PlainText = True que o funcionamento deve ser igual ao do TMemo.


GOSTEI 0
Briciosm

Briciosm

04/05/2007

Não deu certo.
O richedit aceitou apenas alguns caracteres a mais....


GOSTEI 0
Massuda

Massuda

04/05/2007

No Win9x o TMemo é limitado a 32K (ou 64K, não lembro qual).

Já o TRichEdit é limitado unicamente pela memória disponível na máquina. Você colocou ZERO em TRichEdit.MaxLength? Acho que era preciso fazer isso quando o texto era lido de um arquivo.


GOSTEI 0
Adriano Santos

Adriano Santos

04/05/2007

Isso é uma limitação do Win9x, não tem como contornar. A solução é usar um TRichEdit (aba Win32) no lugar do TMemo; configure TRichEdit.PlainText = True que o funcionamento deve ser igual ao do TMemo.


Massuda, vi essa maluquisse uma vez, mas não sei se tem algum pingo de sanidade, pois testei pessoalmente e não vi resultados. Estranho né?
A promessa é que o RichEdit tenha o seu ´limite´ de 64k aumentado.
procedure TForm1.Button1Click(Sender: TObject);
begin
  RichEdit11.MaxLength := $7FFFFFF0;
end; 

//ou:

procedure TForm1.Button1Click(Sender: TObject);
begin
  SendMessage(RichEdit1.Handle, EM_EXLIMITTEXT, 0, $7FFFFFF0);
end;


Talvez funcione pro colega.


GOSTEI 0
POSTAR