Szerző Téma: Max Listitem  (Megtekintve 1083 alkalommal)

Max Listitem
« Dátum: 2012. július 19. - 14:46:51 »
0 Show voters
Arra szeretnék választ kapni, hogy egy LIST dialogban mennyi a maximum létrehozható sorok (listitemek) száma?
Próbálkoztam 999el, de a crashdetect plugin ezzel válaszolt
 
[14:41:22] [debug] Run time error 3: \"Stack/heap collision (insufficient stack size)\"
[14:41:22] [debug]   Stack index (STK) is 0xFFFA2828, heap index (HEA) is 0x388
[14:41:22] [debug] AMX backtrace:
[14:41:22] [debug] #0  00000510 in public cmd_test () from dialogtest.amx
[14:41:22] [debug] #1  native CallLocalFunction () [00472c00] from samp-server.exe
[14:41:22] [debug] #2  000003e0 in public OnPlayerCommandText () from dialogtest.amx

 
Ebbõl azt vettem ki, hogy köze van a \'0x388\' hex számhoz (aminek az értéke szerintem 904), de erre is hibát írt ki
Ezzel kapcsolatban leírást sem wiki-n, sem forumon nem találtam.

Nem elérhető Nátha

  • 1036
    • Profil megtekintése
Max Listitem
« Válasz #1 Dátum: 2012. július 19. - 15:13:41 »
0 Show voters
Nekem régen azzal volt meg csinálva a /cmds parancs de csak 12 vagy 13-at már nem tudom pontosan mennyit engedett.

Nem elérhető tonyo

  • 1335
  • Moderális Generátor
    • Profil megtekintése
Max Listitem
« Válasz #2 Dátum: 2012. július 19. - 16:06:42 »
0 Show voters
Nincs korlát, annyi sorból állhat, ameddig ki nem futsz a karakter limitbõl.
A te hibaüzenetedben a stack index, és a heap index azok memóriacímekre vonatkoznak, ami neked fontos az elsõ sor:
 
Stack/heap collision (insufficient stack size)

 
Vagyis Stack/Heap ütközés (nem megfelelõ stack méret). Szerintem túl nagy változót használsz. Bemásolnád a konkrét kódot?

Max Listitem
« Válasz #3 Dátum: 2012. július 19. - 16:17:16 »
0 Show voters
Idézetet írta: Anthony date=1342706802\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"24682\" data-ipsquote-contentclass=\"forums_Topic
Nincs korlát, annyi sorból állhat, ameddig ki nem futsz a karakter limitbõl.
A te hibaüzenetedben a stack index, és a heap index azok memóriacímekre vonatkoznak, ami neked fontos az elsõ sor:
 
Stack/heap collision (insufficient stack size)

 
Vagyis Stack/Heap ütközés (nem megfelelõ stack méret). Szerintem túl nagy változót használsz. Bemásolnád a konkrét kódot?
 
értem.


#include <a_samp>
#include <zcmd>
CMD:test(playerid, params[]) {
new string[99999];
for(new i = 0; i < 9999; i++) format(string, sizeof(string), \"%s\\n%d\", string, i);
return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, \"Test\", string, \"Close\", \"\");
}

 


EDIT: Megnéztem, 4049es cellaméret fölött ír hibát.
Számokkal így 1021 sort enged :D Ami kicsit sok.
Köszönöm, Zárok.
« Utoljára szerkesztve: 2012. július 19. - 16:24:11 írta TengeriMalac »

Nem elérhető JBauer

  • 1407
    • Profil megtekintése
Max Listitem
« Válasz #4 Dátum: 2012. július 19. - 16:22:57 »
0 Show voters
Úgy tudom, hogy maximálisan 1024-es stringlen lehet. (Bár láttam már 2000-t is, de 99999 biztosan nem lehet)

Nem elérhető tonyo

  • 1335
  • Moderális Generátor
    • Profil megtekintése
Max Listitem
« Válasz #5 Dátum: 2012. július 19. - 16:24:08 »
0 Show voters
A string változó méretével van gond, ekkora méretet nem képes kezelni a pawno. Elvileg a SA:MP-ban 1024 a maximum string méret, gyakorlatban ez nem igaz. A max amit eddig én használtam az 4*1024 volt, attól még nem akadt ki. Próbálgatni kell.  :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal