Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    messaggio "out of string space"

    salve a tutti.
    ho iniziato da poco ad utilizzare un ambiente di simulazione 3D che utilizza un linguaggio VB script per il controllo del movimento degli oggetti.
    ad un certo punto della simulazione il sistema si blocca mandando un messaggio di errore "out of string space" e posizionandosi su una istruzione di lettura (ma altre volte di scrittura) su un file sequenziale aperto in append mode

    il VB che utilizzo viene descritto, nell'help in linea, come "syntactically identical to Microsoft’s Visual Basic."

    qualcuno può dirmi se è un problema legato a VB (forse conosco ancora poco il VB) e .. magari suggerirmi dove sbaglio? (anche solo qualche ipotesi)

    filippo


  2. #2
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Quello e' un errore che ti viene presentato se hai troppe variabili stringhe in memoria oppure se ne hai una torppo grande (dell'ordine di milioni di caratteri).
    Probabilmente, il tuo script, entra in un loop molto lungo e continua ad incrementare il contenuto della variabile, ogni tanto bisognerebbe cancellarla o quantomeno tenere sotto controllo il suo contenuto per evitare che diventi troppo grande.
    I file aperti in APPEND, possono solo essere scritti, e' quindi impossibile che si possa leggerne il contenuto, per consentire sia la scrittura che la lettura su un file, devi aprirlo RANDOM, ma la gestione e' un po' diversa.

    Secondo me l'errore sta proprio nel fatto che tu apri in append il file e poi tenti di fare un INPUT, questo manda "in palla" il compilatore e ti segnala un errore che non corrisponde esattamente a quello che e' capitato.
    Prova a rivedere la routine che legge da file.
    Ciao
    ...and I miss you...like the deserts miss the rain...

  3. #3

    messaggio "out of string space"

    innanzitutto grazie per le risposte;
    delle tre ipotesi che tu hai fatto scarterei le ultime due: ho provato infatti a mettere sotto controllo l'indice dei loop e i valori risultano sempre corretti, quindi non dovrei aver generato stringhe troppo lunghe, così come ho provato a togliere tutte le istruzioni relative al file sequenziale (open, write, input etc), eliminando il problema alla fonte; ma ho communque avuto lo stesso problema.

    effettivamente ho molte variabili String in memoria, poiche la mia simulazione "simula" il comportamento di un microprocessore, con i suoi registri ed i bus, ed io utilizzo dei dati String per memorizzare i valori binari contenuti nei registri o che transitano attraverso i bus di memoria; non credo siano troppe (sono circa un centinaio), ho paura piuttosto che dipenda da una errata definizione di queste stringhe (locali, public, private) che, anche quando non servono più, rimangono li ad occupare memoria; esiste un qualche comando analogo al comando "erase" (che però mi sembra funzioni solo sugli array dinamici), che liberi la memoria dalle stringhe non più in uso ?

    ciao e grazie ancora

  4. #4
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    basta che fai un "azzeramento" della stringa con un semplice

    [nome variabile stringa]=""

    La stringa rimane allocate in memoria, ma e' vuota.
    ...and I miss you...like the deserts miss the rain...

  5. #5

    messaggio out of string space

    sono finalmente riuscito a superare il problema!!!
    inizialmente ho fatto come mi hai suggerito, ed ho notato che la simulazione si fermava qualche minuto più avanti, ma comunque si fermava con lo stesso messaggio; poi.... ho scoperto il trucco: dentro il simulatore c'era un parametro, "BasicScript Heap Size", impostato a 65536, ed ho pensato bene di quadrupicarlo, portandolo a 262144, ed è filato tutto liscio.

    grazie mille dei consigli e del sostegno (i forum sono una grande cosa!)
    ciao filippo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.