Что нового

переполнение GUICtrlCreateEdit

mashino

Новичок
Сообщения
21
Репутация
0
Cобственно ноги отсюда http://autoit-script.ru/index.php/topic,9508.msg63253.html#msg63253
По вышеуказанной теме добавление происходит отлично.
Имеем:
Код:
$LogList = GUICtrlCreateEdit ("",260,48,350,100, $ES_AUTOVSCROLL+$WS_VSCROLL)

Func _Log($text)

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

EndFunc


Проблема:
После 1-2 часов работы добавление прекращается.
Думается мне, что из-за достижения лимита(наверное таковой существует) данных в GUICtrlCreateEdit, так как пишу в него очень много информации.
Вся информация мне не нужна. Поэтому, не найдя в справке по автоиту очистки GUICtrlCreateEdit, я решил попробовать удалять элемент формы и тут же его создавать:

Код:
GUICtrlDelete($LogList)
	sleep(2000)
$LogList = GUICtrlCreateEdit ("",260,48,350,100, $ES_AUTOVSCROLL+$WS_VSCROLL)
GUISetState(@SW_SHOW, $hMain_GUI)

удалять -удаляет. а вот создавать - не создает.

Прошу помощи. Нужна очистка или по кол-ву сообщений (скажем, накопилось 500 строк - "удалить всё") или по времени. Или как создать безлимитный элемент для логирования(чем это чревато?) ?
 

Ganibal95

GreenBytes
Сообщения
877
Репутация
240
Изменить лимит
Код:
GuiCtrlSetLimit($Edit,99999999999)

Удалить все к чертям
Код:
GuiCtrlSetData($Edit,'')
 
Автор
M

mashino

Новичок
Сообщения
21
Репутация
0
благодарю за быстрый ответ.

уже после создания темы нашел такой вариант

Код:
GUICtrlSendMsg($LogList, $EM_LIMITTEXT, -1, 0)


Скорее всего буду удалять.
Код:
GuiCtrlSetData($LogList,'')
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
mashino
Поэтому, не найдя в справке по автоиту очистки
Очистка в справке есть методом вставки пустой строки с помощью GUICtrlSetData.
Так же в примере справки есть строка
Код:
GUICtrlSendMsg(-1, $EM_LIMITTEXT, -1, 0) ; снимает ограничение на количество символов 30 000

Спрашивается для кого справка делается?
 
Верх