Newsgroup: it.comp.lang.delphi
Titolo: TMemo >65k ?

E possibile estendere il componente standard TMemo per superare il limite
dei 65k?
o devo ricorrere ad altri componenti (es. TRichText)? non voglio usare
quest'ultimo in quanto
mi serve che sia il meno pesante possibile per il sistema visto che devo
scriverci molte volte.
Grazie...

Ciao
Se non sbaglio, la limitazione a 64K dei Tmemo è legata al sistema operativo
Windows 95-98-ME hanno il limite dei 64K
Windows NT e seguito non l'hanno.
Non ne sono però sicuro.
Ciao
Matteo
"Balbar" <...@...> ha scritto nel messaggio
news:Ru6o6.57145$Y93.1...@news.infostrada.it...


 dei 65k?
il limite, ma solo sotto W9x, e' di 32 Kb, e non e' possibile superarlo, ma
puoi usare un componente RichEdit che non ha limite di memoria.
Ciao, Sandro

Windows 95-98-ME hanno il limite dei 64K
32 Kb, non 64.

> puoi usare un componente RichEdit che non ha limite di memoria.
Si, avevo già provato questa soluzione, ma rallenta la visualizzazione e
quindi l'esecuzione della procedura che mi interessa.
Non c'è modo di estendere il TMemo oltre i 32k?

> Non c'è modo di estendere il TMemo oltre i 32k?
Certo che c'e'. Basta usare Windows NT/2000 e il problema svanisce.
Ciao, Sandro

Certo che c'e'. Basta usare Windows NT/2000 e il problema svanisce.
C'e' un riferimento ufficiale dove e' specificato che questo limite
per WinNT/2K non esiste ?
--
Andrea Laforgia (ICQ 87230455)
http://www.geocities.com/AndreaLaforgia
"ci sono tre tipi di persone nel mondo : quelli che
 sono bravi in matematica e quelli che non lo sono."

 per WinNT/2K non esiste ?
non mi sono mai posto il problema di cercare "link ufficiali", e' cosi' e
basta, se vuoi provalo.
Ciao, Sandro




"Cosi' e basta" perche' l'hai deciso tu ?
Se affermi che sotto Windows NT/2K questo limite non esiste, vuol dire
che da qualche parte e' documentata questa differenza con Windows 9x.
Onestamente, finquando non vedo un link ufficiale, non mi fido.


 wrote in message
news:tvv4at0ga3im5rrnf...@4ax.com...


numero di caratteri inseriti)...
Sto cercando di sapere se esiste un link ufficiale in cui viene
specificato che la dimensione del controllo memo di Windows e'
maggiore sotto WinNT/2K (e magari anche quant'e').  Non e' questione
di creare un programma di test, la questione e' sapere dove e'
specificata questa differenza.


 specificata questa differenza.
No, non saprei dove puoi trovare questo link, so solo dirti che TMemo in
Win2k accetta dimensioni maggiori di 90k (il test che ho eseguito...)
Bye
  Luca

Scusa la domanda... cos'è un wrapper?
Le classi "wrapper" sono quelle che, tipicamente presenti in framework
di sviluppo (VCL, MFC, OWL, JCL...), consentono di astrarre operazioni
di basso livello su cio' che contengono (in questo caso il controllo
di Windows), mediante proprieta'/metodi piu' semplici e diretti.


"Andrea Laforgia" ha scritto nel messaggio
| >> C'e' un riferimento ufficiale dove e' specificato che questo limite
| >> per WinNT/2K non esiste ?
|
| >non mi sono mai posto il problema di cercare "link ufficiali", e' cosi'
| >e basta, se vuoi provalo.
|
| "Cosi' e basta" perche' l'hai deciso tu ?
| Se affermi che sotto Windows NT/2K questo limite non esiste, vuol dire
| che da qualche parte e' documentata questa differenza con Windows 9x.
| Onestamente, finquando non vedo un link ufficiale, non mi fido.
|
TMemo deriva da TCustomEdit che per settare la massima lunghezza del
controllo fa un SendMessage del messaggio EM_LIMITTEXT. Secondo MSDN, se il
parametro WPARAM del SendMessage vale 0 allora la lunghezza del testo nel
controllo e' di 0x7FFFFFFE 
( 2147483646
 ) caratteri in WinNT/Win200, mentre
e' di 0xFFFF ( 65535  ) caratteri in Win95/Win98.
32767 caratteri e' il valore di default del controllo.
Non una gran spiegazione, concordo, ma il senso dovrebbe essere chiaro.
P.S. Tutto questo vale, ovviamente, se ho ben capito quello che c'e'
scritto su 
http://msdn.microsoft.com/library/default.asp
 ... :-)
Ciao.
---------------------------
ACSH
"Non voglio un mondo migliore:
 voglio un mondo piu' interessante!"

In teoria è possibile. Ovviamente al prezzo di una certa complessità.
Dunque, per fare quello che chiedi devi creare una classe discendente da
TStringList che ti pagini un file di testo.
Poi devi gestire tutti i messaggi di windows nel TMemo, derivando da esso un
nuovo componente.
Non è facile, è noioso, stancante e deprimente, ma possibile. :=)
Auguri.
--
Andrea Raimondi
-------------------------------
Redattore corso di
Delphi di Software
Planet
-------------------------------
www.softwareplanet.net
Balbar <...@...> wrote in message
Ru6o6.57145$Y93.1...@news.infostrada.it...


 Non c'è modo di estendere il TMemo oltre i 32k?
su torry trovi qualche componente di memo "fatti in casa" che non hanno il
limite, ma non so se siano leggeri..
vale la pena un tentativo :)                         {MSX}