Jump to content

GUICtrlCreateEdit limit

Recommended Posts

I believe there is a 4kb limit to GUICtrlCreateEdit. I was using it to display and edit the contents of a text file (a large Memo) but it eventually crashed on me (too much text). Is there a way to get around this without having to open notepad and use it to read and edit text? I'd like to have something imbedded into a GUI so I could read and edit a memo directly using AutoIt. Is it possible to embed a control-less notepad window in a GUI?


Link to post
Share on other sites

That example doesn't work for me unfortunately (comes up with an error in Line 44 for some reason) so I'm not exactly sure what it's supposed to do.

Which line is that exactly? It depends where you cut an pasted from as to which line 44 is I suppose. If I include the comments 44 is a blank line :P

It works for me if I copy and paste it into a new au3 script. Creates and rtf file and won't let me put a carraige return in but it deffinitely runs. CRLF bit probaly just wants $ES_WANTRETURN I bet.

Edit: typo. probably more I missed. can't spell for toffee.

Edited by Pengbo
Link to post
Share on other sites

I used the whole example out of the help file. Error is this:

>Running: (\Program Files\AutoIt3\beta\autoit3.exe "C:\Documents and Settings\Admin\Desktop\tester.au3"

C:\Documents and Settings\Admin\Desktop\tester.au3 (44) : ==> Illegal text at the end of statement (one statement per line).:

With $oRP

Only Object-type variables allowed in a WITH statement!

Thanks for the RTF update too.

Link to post
Share on other sites
  • 1 month later...

Under Windows 9X, I think the maximum size of a standard edit box is about 64K. Under Windows 2000 and XP, it is practically unlimited. After creating the edit box with GUICtrlCreateEdit, you can sent it a message to specify its maximum size, e.g.,

$EM_SetLimitText = 197

$MaxSize = 2000000

GUICtrlSendMsg(-1, $EM_SetLimitText, $MaxSize, 0)

Using a value of 0 for $MaxSize might make it unlimited, but I'm not sure about this.

Note that you can programmatically load almost any size text into the edit control without sending the above message (it limits how much the user can enter), e.g.,

$s = FileRead("c:\temp\hugefile.txt")

GUICtrlSetData(-1, $s)

Link to post
Share on other sites

I'm running win98, and th limit seems to be about 32K. I tried the GUICtrlSendMsg(), nogo. I set my editbox up to strip out the oldest info when I send it more than 29K, so I can send it more. That will have to be good enough for now. I am using this code to add new info to the edit:

GUICtrlSetData($Edit1, $text & @CRLF, 1)

I am using beta 101.

Thanks for your attempt...


"This is the day of all days. Behold, the King reigns! You are his publicity agents. Therefore advertise, advertise, advertise, the King and his kingdom."

Link to post
Share on other sites
  • 3 weeks later...

I have similaire probleme with a GUICtrlCreateEdit.

I tries to write around 35K caractere with around 1k ligne and I stop at 80%.

This is the cmd...

GUICtrlSetData ($Input_Resultat, $Ligne_ajuste,1)

But if I use this one ... it's works. (windows flash a bit ...)

$Lignes_combinees = $Lignes_combinees & $Ligne_ajuste

GUICtrlSetData ($Input_Resultat, $Lignes_combinees)

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Create New...