Newsgroup: it.comp.lang.visual-basic
Titolo: portabilità

ho scritto un piccolo programma in visual basic, ma ho visto che non riesco 
a farlo funzionare bene in altri computer anche con le librerie runtime 
installate (ottengo errori tipo divisione per zero)..
è possibile convertirlo in c.
Il programma è un utility per il resize di video, se qualcuno vuol darmi 
una mano posso passargli la sorgente.
grazie ciao

 darmi una mano posso passargli la sorgente.
Pubblica qui un po' di codice, in particolare la riga che ti crea il
problema.

 è possibile convertirlo in c.
Prova a vedere se queste info possono aiutarti  nel risolvere il problema
direttamente su Vb
Finestra di dialogo Ottimizzazioni avanzate
Consente di aggiungere le seguenti ottimizzazioni alla compilazione.
Nota   È possibile che l'attivazione delle ottimizzazioni impedisca la
corretta esecuzione del programma.
Opzioni della finestra di dialogo
Non prevedere alias
Indica al compilatore che il programma non utilizza gli alias. Gli alias
sono nomi che fanno riferimento a una posizione di memoria a cui viene fatto
riferimento anche da un altro nome. Questa opzione consente al compilatore
di applicare le ottimizzazioni che non potrebbe utilizzare altrimenti, ad
esempio memorizzare le variabili in registri ed eseguire le ottimizzazioni
dei cicli. Ciò si verifica quando vengono utilizzati gli argomenti ByRef. Ad
esempio:
Dim y as integer
Sub Foo(x as integer)
x=5        'Il codice fa riferimento alla stessa
'variabile (y globale) con due nomi diversi
y=6
End Sub
Sub Main
Foo y
End Sub
Rimuovi codice di verifica degli indici delle matrici
Per impostazione predefinita, in Visual Basic viene effettuato un controllo
su ogni accesso a una matrice per determinare se l'indice è compreso
all'interno dell'intervallo della matrice. Se l'indice non è compreso entro
i limiti della matrice, viene visualizzato un messaggio di errore. La
selezione di questa opzione disattiva il controllo degli indici della
matrice e la verifica del numero di dimensione.
Nota   Sebbene la selezione di questa opzione faciliti la manipolazione
delle matrici, è possibile che venga eseguito l'accesso a posizioni di
memoria non valide provocando il funzionamento errato o l'arresto del
programma.
Rimuovi controllo dell'overflow di interi
Per impostazione predefinita, in Visual Basic viene effettuato un controllo
su ogni calcolo di tipi di dati interi (Byte, Integer e Long) per verificare
che il valore sia compreso nell'intervallo del tipo di dati. Se la grandezza
del valore inserito nel tipo di dati non è corretta, viene generato un
errore. La selezione di questa opzione evita la verifica degli errori
rendendo più veloce il calcolo degli interi. Tuttavia, se si verifica un
overflow del tipo di dati, non viene generato alcun errore ed è possibile
che vengano prodotti dei risultati errati.
Rimuovi controllo degli errori di virgola mobile
Per impostazione predefinita, in Visual Basic viene eseguito un controllo su
ogni calcolo relativo a un tipo di dati a virgola mobile (Single e Double)
per verificare che il valore sia compreso nell'intervallo del tipo di dati e
che non vengano eseguite divisioni per zero e operazioni non valide. Se la
grandezza del valore inserito nel tipo di dati non è corretta, viene
generato un errore. La selezione di questa opzione evita la verifica degli
errori rendendo più veloce il calcolo dei valori a virgola mobile. Tuttavia,
se si verifica un overflow del tipo di dati, non viene generato alcun errore
ed è possibile che vengano prodotti dei risultati errati.
Operazioni con virgola mobile senza arrotondamento
Se selezionata, questa opzione consente al compilatore di:
  a.. Utilizzare i registri a virgola mobile in maniera più efficiente
  b.. Impedire caricamenti e memorizzazioni dalla memoria
  c.. Eseguire i confronti a virgola mobile in maniera più efficiente
  Nota   È possibile che l'attivazione di questa opzione comporti una
precisione nei calcoli superiore a quella desiderata e che il confronto tra
due valori a virgola mobile uguali dia come risultato una disuguaglianza
imprevista.
Rimuovi controlli di sicurezza su FDIV PentiumT
Rimuove il controllo rendendo il codice per la divisione a virgola mobile
più veloce e di minori dimensioni, ma può produrre risultati inesatti su
processori PentiumT con bug FDIV. Se questa opzione è deselezionata, il
codice generato per le operazioni di divisione a virgola mobile non verrà
influenzato dal bug FDIV su processore PentiumT.
-- 
Le persone non sono il proprio comportamento: devi sempre andare oltre,
essere flessibile, capire il punto di vista degli altri, interpretarne i
comportamenti ed intuirne le esigenze.
Per rispondere in privato elimina
dall'indirizzo "togliquesto"
MasterDavidex
David Ruscelli

@"Lupo"
ora non ho il codice sottomano, lo metto questo pom.. cmq nel pc dove č 
installato visual studio il programma funziona
@"Frank Ottobre" 
grazie mille! proverň..

 è installato visual studio il programma funziona
Allora direi che è "solo" un problema di installazione.
Cos'hai usato per installare il programma su altre macchine?
Non hai semplicemente copiato l'EXE, vero?!
Devi usare un creatore di pacchetto d'installazione, come il PDW previsto
fra le utilità di VB.

 fra le utilità di VB.
Se l'errore è "divisione per zero" o è un errore nel codice o al limite
qualche incompatibilità (opzioni di compilazione/processore)


Secondo me se hai questo problema e' un difetto
dell'applicazione......
In C e' peggio (nel senso che se sbagli qualcosa non perdona... :))) )
Ciao!
Luca


 limite qualche incompatibilità (opzioni di compilazione/processore)
Possibile, certo, ma sulla macchina con VB funziona...


aggiungi una gestione degli errori che ti indica la riga dell'errore
 ... risolvere un errore alla cieca non mi è mai riuscito !!!
CiaO
-- 
           ..::M::O::R::B::I::L::L::O::..

 End Functio

 riporto il codice
21 k di codice senza indicare qual è (quali sono) le righe che provocano il
/0?...
Suvvia, comincia a cercare uvunque il carattere / (e, se lo usi per la
div.intera, \) e vedi se il denominatore può essere nullo...

 Suvvia, comincia a cercare uvunque ..
è molto probabile che l'errore sia proprio in quelle righe, perchè ho 
l'errore solamente nell'apertura del file (Private Sub Apri_Click()), 
mentre con altre funzioni va tutto liscio. 
Infatti l'apertura del file serve solo a importare informazioni di file 
video, che possono anche esser impostate in modo manuale.

ho scritto un piccolo programma in visual basic, ma ho visto che non riesco 
a farlo funzionare bene in altri computer anche con le librerie runtime 
installate (ottengo errori tipo divisione per zero)..
Š possibile convertirlo in c.
Il programma Š un utility per il resize di video, se qualcuno vuol darmi 
una mano posso passargli la sorgente.
grazie ciao

ho scritto un piccolo programma in visual basic, ma ho visto che non riesco 
a farlo funzionare bene in altri computer anche con le librerie runtime 
installate (ottengo errori tipo divisione per zero)..
è possibile convertirlo in c.
Il programma è un utility per il resize di video, se qualcuno vuol darmi 
