Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Out of memory ??!!

erkki [10.11.2012 17:49:02]

#

Nyt tarvittaisi apua, VB6 SP6 >> projektia ei voi tallentaa koska tulee teksti "out of memory", juuri editoidun formin päällä oli kuin munalukko"Project Explorer" listassa. yritin "check in" source safeen ensin ei totellut sitten meni läpi, mutta nyt sanoo että failed to check out, jos "pakkolopetan" projektin niin iso työ on mennyt hukkaan, ei aina muista tallentaa välillä. voiko tilanteesta pelastua. Nyt kaikki Formit ovat lukossa source safe´ssa.

eetwo [10.11.2012 18:23:12]

#

Sun kones lagii?

Metabolix [10.11.2012 18:26:44]

#

Jos ongelmana oikeasti on muistin loppuminen, eikö looginen ratkaisu olisi vapauttaa muistia sulkemalla muita ohjelmia (kuten selain, joka vie usein satoja megatavuja)?

erkki [10.11.2012 18:33:30]

#

juu kaikki muut rosessit sun muut ohjelmat on suljettu, viesti on siis väärä, mutta jokin häiriö siihen yhteen formiin tuli. täytyy varmaan hyväksyä että menee parin kolmen tunnin työ hukkaan, eihän se ole vielä paljoa, hyvä ettei koko projekti kaatunut.

User137 [11.11.2012 02:01:34]

#

Mistäs tuo sitten voi johtua? Ei muista VB:tä tarkasti, mutta siinäkin tais olla ImageList-tyyppinen komponentti, käytit sitä? Formin resursseja ei yleensä saa kuormittaa isoilla kuvilla, vaan ne on ladattava suorituksen aikana.

Grez [11.11.2012 11:36:18]

#

Source safe on kyllä jotain ihan hirveetä.

Jos sulla on projektin viimeisimmät versiot kiintolevyllä tallessa, niin ei hirveesti tarvitse välittää mitä source safe (VSS) sanoo, sen kun kopioit ne talteen jonnekin.

Jos taas ongelma oli se, että et saa VB6:ssa talletettua, koska VSS on "lukinnut" tiedostot, niin käyt vaan käsin puukottamassa niistä read only atribuutit pois, tallennat ja kopioit taas talteen.

Jos taas ylipäätään et voi VB6:ssa tallentaa, mutta näet koodit näytöllä, niin voit ehkä laittaa pausen päälle ja copy&pasteilla ne talteen editorista.

Jos mikään ei auta, niin ehkä jollain ohjelmalla voisi dumpata VB:n muistin levylle ja koittaa kaivaa sieltä myöhemmin. En kyllä tiedä miten se tallentaa ne, eli onko kuinka helppoa.

Toisaalta ihan hirveän kauaa ei kannattane ähkiä ongelman kanssa. Yleensä äskettäin tehdyt muutokset on suht helppo koodata uudelleen. Ainakin itsellä joskus vastaava tilanne, että 8 tunnin työ katosi niin ei tainnut mennä kuin tunti nakutella ne uudestaan.

Itse virheilmoituksesta tulee mieleen tämä 16-bittisen Windowsin ohjelmien tyypillinen patterni, joka jossain määrin vielä oli jäljellä noissa uudemmissakin ohjelmissa jotka periytyi siltä ajalta:

res = apicall(x,y,z);
if (res != SUCCESS) {
   ShowOutOfMemoryError();
}

erkki [12.12.2012 22:34:09]

#

On vähän kestänyt taas, että pääsee koodailemaan. Eli sain kuin sainkin kierrettyä ongelman.
Kiitos vaan avusta

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta