Kun yritän tehdä QB:llä exe:ä ohjelmastani niin siinä tulee jotain severe erroreita. Toisen sain jo korjattua, mutta se toinen on:
0012 0392 FOR c = 1 to 10
Ja siihen QB sitten viittaa, että PROGRAM-MEMORY OVERFLOW
Onko kenelläkään mitään hajua siitä mikä voisi olla vialla
Tässä pieni koodinpätkä jossa tuo virhe on (jos nuo numerot tuossa virheilmotuksessa on rivi- ja sarakenumeroita):
FOR c = 1 TO 25 if muisti2(c) = "" then pispaal2 NEXT
Koko ohjelmasta ei löydy
FOR c = 1 TO 10
koodin pätkää. Koodi on otettu rivinumeroiden perusteella ja viittaa "muisti2(C)" kohtaan. muisti2(c) on määritelty:
DIM muisti2(25) AS STRING
Edit: tuosta tuskin saa mitään selvää, mutta pyytäkää lisäinformaatiota kun tarvitsette :)
for i = 1 TO 10
Joo :) oli ne siinä koodissa mutta en huomannut kirjottaa niitä tohon viestiin... kummallista, että ne tuppaa unohtuun tollalailla. Tällästä on sattunut mulla aikasemminkin.
Eihän kukaan vaan luullut, että ongelma selvis? Ehei, vaikka edellisestä viestistäni ehkä sellaisen käsityksen voi saada.
PS. Kyllä siinä ohjelmassa on sittenkin tollanen rivi kun tossa errorissakin... olin jättänyt tosta FOR c = 1 TO 10 ton tummennetun osan pois kun olin ettiny sitä search toiminnolla :)
käännetyn moduulin koko on sulla suurempi kuin 64kb (DOSsin segmentti, yhden obj-tiedoston maksimikoko). jaa ohjelmasi moduuleihin (eri .BAS tiedostoihin), käännä ne ja LINKkaa ne yhdeksi exeksi.
myös '$DYNAMIC alussa saatta auttaa...
Hmmm... kun käännän ohjelman ilman virheiden tarkistusta ja testailen sitä exe:stä ajettua ohjelmaa, niin en havaitse millään osa-alueella minkään laisia virheitä. Tämäpä minua ihmetyttääkin.
kääntäjä ei tarvitse niin paljon muistia, kun siinä ei ole virhecheckkiä, jolloin ohjelmasi kääntyy ilman sanktioita.
myös perusmuistin vapauttaminen auttaa...
mutta silti suosittelisin ohjelman jakamista pienempiin moduuleihin, jotta voit laajentaa sitä jatkossa (se raja tulee kohta vastaan ilman virheidentarkistustakin).
tai jos sulla on tarpeettomia DECLARE-käskyjä, niin ne kannattaa poistaa, koska ne syövät yllättävän paljon muistia.
Voisi sanoa, että tuo ohjelma(roolipelimoottori) on valmis joten enpä usko, että se siitä enää montaa kiloa kasvaa(nykyinen 100kt). Voi tuntua ehkä vähän turhan pieneltä, mutta pelistä pitikin tulla simppeli. Kenttien ja muiden rojujen teko viekin sitten aikaa ja paljon...
Kiitos kumminkin asian selvennyksestä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.