Not enough memory?

English main discussion
Post Reply
  • Author
  • Message
Offline
Posts: 282
Joined: Thu Sep 10, 2015 9:53 am
Location: Deutschland

Not enough memory?

Post by sexy96 »

number of text lines: 130000
after about 10 minutes, pops up:

Image
Fatal error: not enough memory. It is recommended to end the program.

Can you increase this memory?

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Re: Not enough memory?

Post by DV »

The memory is most likely consumed by the Undo buffer.
Try to call the following script after massive replacements:

ClearUndo.js

Code: Select all

var WM_USER = 0x0400;
var AEM_EMPTYUNDOBUFFER = WM_USER + 2055;
var hEditWnd = AkelPad.GetEditWnd();
AkelPad.SendMessage(hEditWnd, AEM_EMPTYUNDOBUFFER, 0, 0);

Offline
Posts: 282
Joined: Thu Sep 10, 2015 9:53 am
Location: Deutschland

Post by sexy96 »

I gave this file "ClearUndo.js" to:
D:\AkelPad86\AkelFiles\Plugs\Scripts\

How do you call it at the right time?

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

sexy96

Before replace operation disable undo by setting undo limit to zero:
Settings -> Editor 1 -> Undo limit.

Offline
Posts: 282
Joined: Thu Sep 10, 2015 9:53 am
Location: Deutschland

Post by sexy96 »

Gdy pomylę się w zamienianiu, będę musiał robić wszystko od nowa :cry:
To nie rozwiązuje problemu.
To lepiej niech się zacina. AkelPad muszę wtedy wyłączać przez Task Manager.

Mam nastawione 9999 i wyłączony limit.
Undo dalej działa. Nie wiem jaki jest wówczas limit,
ale nie limit jest powodem tego, tylko za mały bufor pamięci.

Może można zrobić tak aby komunikat ostrzegawczy pokazywał się,
przed zapełnieniem pamięci?

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

sexy96 wrote:How do you call it at the right time?
Having this simple script, just call it manually after massive replacements that surely do not need to be undone via Undo.
A better solution would be to include the functionality of this simple script into a more complicated script running in background that will monitor AkelPad's memory usage and asks whether the Undo buffer needs to be cleared when the memory usage becomes high. But such a script needs to be written :)
Another, completely alternative, approach would be to use 64-bit AkelPad - thus allowing it to utilize _all_ the available memory without 2 GB limit caused by a 32-bit application. But surely it assumes you are using 64-bit Windows.

Offline
Posts: 282
Joined: Thu Sep 10, 2015 9:53 am
Location: Deutschland

Post by sexy96 »

Używam Akelpad 32-bit tylko dlatego że Aspell nie chce działać w 64-bit.

Jeżeli ustawię limit cofnięć na 0 i go wyłączę, to Undo nie działa.
A jeżeli ustawię limit na max 9999 i też go wyłączę wtedy Undo działa.
Jaki jest wtedy limit cofnięć przy wyłączonym limicie?

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

sexy96

Nie bardzo rozumiem, jak można ustawić limit cofnięć na 9999 i go wyłączyć.
Wg mnie możliwość cofnięcia ustala się przez ustawienie limitu cofnięć.
Jeśli limit jest równy 0, to możliwośc cofnięcia jest wyłączona.
Jeśli limit jest większy od 0, to możliwość cofnięcia jest włączona.

Offline
Posts: 282
Joined: Thu Sep 10, 2015 9:53 am
Location: Deutschland

Post by sexy96 »

Image

Po lewej Undo nie działa, po prawej działa
pomimo że, oba są wyłączone.

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

sexy96

Nie!!!
Na obrazku z lewej "Undo" jest wyłączone a na obrazku z prawej "Undo" jest włączone.
Kontrolka "Szczegóły" nie służy do ustawiania możliwości cofnięcia.

Offline
Posts: 282
Joined: Thu Sep 10, 2015 9:53 am
Location: Deutschland

Post by sexy96 »

tzn. że szczegóły służą do cofanie po jednym znaku.

To jak mam te szczegóły wyłączone to tej pamięci starczy na dłużej?
Post Reply