Newsgroup: it.comp.lang.visual-basic
Titolo: Aiuto per problemi di compilazione

Saluti a tutti,
mi chiamo Valeria, sono nuova di questo gruppo e non ho una grande
esperienza di programmazione in VB. Vi scrivo per chiedere aiuto alla vostra
esperienza per un problema di compilazione che mai finora mi era capitato e
che non ho proprio idea di come risolvere.
Ho preparato un progetto in VB6 che interagisce con Outlook 2000 per leggere
certe Folders ed elencare i dati di certi Items all'interno di files di
testo. Fintanto che eseguo il progetto all'interno di VB, sia con "Esegui"
che con "Esegui con compilazione completa", funziona tutto perfettamente.
Quando invece cerco di creare l'exe del progetto, ottengo i seguenti errori,
e nemmeno leggendo le spiegazioni su MSDN riesco a capirne l'origine:
* Errore n°1, si genera al primo tentativo di compilazione del progetto:
-------------
G:\prog_OL\External\mdFilesFolders.bas(65) : fatal error C1001: INTERNAL
COMPILER ERROR
  (compiler file 'e:\work\utc2\src\P2\main.c', line 495)
    Please choose the Technical Support command on the Visual C++
    Help menu, or open the Technical Support help file for more information
-------------
Se il numero 65 che compare dopo il nome del modulo significa la riga dove
avviene l'errore, le righe del codice del modulo mdFilesFolders.bas
interessate sembrano essere:
64: mdVariables.countSelected = 0
65:
66: Open fileName For Input As #1
e vengono eseguite più o meno a metà del caricamento del primo form.
La variabile countSelected è dichiarata Public nel modulo mdVariables.bas
(che contiene tra l'altro le dichiarazioni di tutte le variabili pubbliche
usate nel progetto) e fileName è una stringa passata come argomento alla
funzione che contiene il codice sopra riportato.
* Errore n°2, si genera al secondo tentativo di compilazione del progetto,
dopo la fase di compilazione, appena inizia la "scrittura dell'EXE in
corso...":
-------------
Microsoft (R) Incremental Linker Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
mdFilesFolders1.OBJ : error LNK2001: unresolved external symbol
___vba@0022DA60
G:\prog_OL\External\Progetto1.exe : fatal error LNK1120: 1 unresolved
externals
-------------
Se continuo a provare la generazione dell'exe ottengo questi due errori
sempre nella stessa sequenza.
Ho provato a compilare il progetto VB sia sul PC che sul portatile ma gli
errori che ottengo sono esattamente gli stessi. Ho provato a compilare un
altro progetto semplice tipo "Hello world!" giusto per testare se fosse il
compilatore ad avere problemi, ma con quello tutto ok.
Confido nella vostra esperienza per risolvere l'inghippo...
Se vi servono altre informazioni fatemi sapere. Per ora vi ringrazio.
Valeria Olivati
oli...@tin.it
Studentessa del Master in Scienze e Tecnologie dei Media - Università di
Pavia
Messaggio postato anche in microsoft.public.it.vb

...

anche a me alcune volte succede la stessa cosa nell'ide di VB  tutto
ok
ma quando crei l'eseguibile  si va in errore ,ma con altri tipi di
erroi strani,
dipende dalla ottimizzazione del compilatore, ti consiglio di
escludere l'ottimizzazione,cio che avviene  automaticamente quando
premi esegui da VB.
leonello

 leonello
ho appena provato ad impostare nella voce "Compila" delle proprietą del
Progetto la selezione "Non ottimizzare" di "Compila in codice nativo" ma
richiedendo da File->Crea Progetto1.exe... ottengo di nuovo gli stessi
errori.
Tra l'altro nel portatile dove ho eseguito la prima volta la compilazione
non ce l'ho nemmeno il disco e: che viene segnalato nel primo errore
compiler file 'e:\work\utc2\src\P2\main.c', line 495
sempre che e: si riferisca al disco...
mentre sul PC il disco e: č il masterizzatore, quindi installando Visual
Basic non č proprio possibile che abbia messo qualche file del compilatore
che ora non ritrova...ho pensato pure a questo...
comunque grazie
Valeria

[*Valeria* = oli...@NOSPAMtin.it in
news:TUmab.81505$
hE5.2...@news1.tin.it
] ha scritto:
...
Rieilogo anche qui, più In-Topic di dove li ho scritti in modo più esteso:
http://search.microsoft.com/search/results.aspx?View=en-us&p=1&s=0&c=3&st=a&
qu=c1001&na=30
http://makeashorterlink.com/?R266121F5
http://support.microsoft.com/default.aspx?scid=kb;en-us;149964

 ha scritto nel messaggio
news:bkd4d5$eod4$1...@ID-174464.news.uni-berlin.de...

vedrò oggi pomeriggio di attaccarmi alla lettura di questi links, e segiurò
si suggerimenti che mi hai dato negli altri post del thread sul
Giochino...grazie 1000.
Stamattina devo concentrarmi su un'interfaccia web...
Al prossimo post
Valeria

 ...
[riportato da thread sul giochino...]
Sicura di non avere quanche codice C e che le librerie che hai referenziato
siano a posto?
Hai provato, se ne hai la possibilità, su un'altra macchina?
[]
Ho fatto le prove di compilazione del programma su due computer: un desktop
e un portatile, e sul portatile ho disinstallato la mia versione di VB6 per
installare quella che avevano nell'ufficio dove sto lavorando al progetto.
Il mio è un VB6 acquistato singolo, mentre il loro è un VB6 che fa parte di
Visual Studio 6, e mi sembra che sul CD di installazione ci fosse la data
2001, quindi presumo niente SP, giusto?
Per le librerie che ho referenziato non ho nessuna certezza
consapevole...anche perchè è la prima volta che con VB cerco di interagire
con un programma di Office.
Farò sicuramente tutti i tentativi che mi avete suggerito e poi vi faccio
sapere com'è andata.
grazie ancora
Valeria

 giusto?
Non lo so, a me risulta (ma da un po' ho interrotto l'abbonamento MSDN) che
VS6 non contenga SP, questi sono a parte. Installa, assolutamente, l'ultimo,
SP5.

 assolutamente, l'ultimo, SP5.
E' cosě ancora afaik... prima installi VS6 poi SP% che č su un disco
separato! :|

 separato! :|
Ok, direi che come prima cosa cerco e provo ad installare il SP5, poi se
ancora non risolvo proverò a cascata tutti gli altri suggerimenti...
speriamo bene!
Buon lavoro a tutti, vi farò sapere come finisce la questione...
Valeria

 suggerimenti...
Nel caso... crea un progetto con solo il codice e i riferimenti che non ti
permettono di compilarlo... posti sul NG (non come allegato e magari con tag
[lungo] nel subject) e proviamo a vedere se il problema si presenta anche a
noi.
L'unica volta che il linker di VB ha fatto le bizze con me è stata quando
alcuni files nella directory dei sorgenti erano readonly dai un'occhiata! Ma
l'errore era differente!

 
http://support.microsoft.com/default.aspx?scid=kb;en-us;149964
questo l'ho letto ma come avevi detto tu riguarda codice scritto in C++ che
io non ho nel progetto, almeno: non ce l'ho messo io....
Anche se i suggerimenti che da sono talmente strani che, se nemmeno il SP5
risolve, posso pensare di tentare...
tnx
Valeria

 il SP5 risolve, posso pensare di tentare...
Se ho ben capito (a parte il C), il problema può accadere se il blocco è
troppo ampio. Prova a seguire quanto ti dicevo di là, ovvero togli una bella
fetta delle istruzioni di quel bas (anche tutte), giusto per vedere se
compila senza problemi, anche se, chiaramente, non funzionerà l'EXE
ottenuto, ma poi puoi andare per tentativi per vedere quali sono le
istruzioni che gli danno fastidio. Vedi anche, come dicevo, se contiene
caratteri strani.

I links ora funzionano, grazie. si vede che quando li ho guardati oggi
pomeriggio il mio IE era un po' stordito...a volte mi capita. Penso che dopo
cena avrò un po' da leggere stasera...
Ora accade un altro "mistero".
Ho provato ad installare il SP5 scaricato dal sito microsoft sia sul
portatile che sul PC e magicamente è cambiato l'errore e il modulo in cui
avviene...senza toccare una riga di codice!!! -_-
Sono senza parole...
Ora la situazione è questa:
Portatile:
C:\Documents and Settings\All
Users\Documenti\prog_OL\External\frmForSync.frm(151) : fatal error C1001:
INTERNAL COMPILER ERROR
  (compiler file 'e:\work\utc2\src\P2\main.c', line 495)
    Please choose the Technical Support command on the Visual C++
    Help menu, or open the Technical Support help file for more information
e le righe di codice sono:
149: Sub fillListBox(ByRef myList As ListBox, ByRef myFolderToList As
String, ByRef myFolderType As Integer, myItemType As Integer)
150. 'fill the listBox myList reading the item's subject of the items
151: 'listed in the files inside the folder with myFolderToList name
152:
153: Dim theFile As String
154: Dim readLine As String
Quindi segnala un errore in una riga di commento!!
Per il PC:
G:\prog_OL\External\frmForSync.frm(151) : fatal error C1001: INTERNAL
COMPILER ERROR
  (compiler file 'E:\8783\vc98\p2\src\P2\main.c', line 494)
    Please choose the Technical Support command on the Visual C++
    Help menu, or open the Technical Support help file for more information
è addirittura cambiata la localizzazione del compiler file...
E se provo a rifare il progetto ex novo importando i forms e i moduli e
segnando di nuovo i riferimenti, mi cambia addirittura l'errore sul modulo,
che diventa:
Sul portatile:
C:\Documents and Settings\All
Users\Documenti\prog_OL\External\mdActions.bas(37) : fatal error C1001:
INTERNAL COMPILER ERROR
  (compiler file 'e:\work\utc2\src\P2\main.c', line 495)
    Please choose the Technical Support command on the Visual C++
    Help menu, or open the Technical Support help file for more information
sul PC:
G:\prog_OL\External\mdActions.bas(37) : fatal error C1001: INTERNAL COMPILER
ERROR
  (compiler file 'E:\8783\vc98\p2\src\P2\main.c', line 494)
    Please choose the Technical Support command on the Visual C++
    Help menu, or open the Technical Support help file for more information
io non ci capisco più niente...
Ma succendono solo a me queste cose senza alcun apparente senso logico???
Aggiunta:
mi ha scritto ora un amico che ha provato a compilare il progetto a casa
sua, altro PC, con SP5 già installato. Dice che al primo tentativo ha
ottenuto gli stessi errori, poi ha provato a mettere come opzione di
compilazione: "Compila in P-code" e ha funzionato....
Mi sai/sapete dire che differenze ci sono con l'altro tipo di compilazione?
Grazie del grosso aiuto
Valeria

 compilazione?
No, ma punto un euro sul fatto che i file contengono qualche carattere
strano..
Prendi il più breve (che ti segnala errore su una macchina, una qualsiasi,
ma sistematicamente sempre sulla stessa, senza P-Code) e riscrivilo
integralmente, fatti pure una copia di quello che hai, ma NON pulire e
rifare quello. Cancellalo proprio e rifallo.

 rifare quello. Cancellalo proprio e rifallo.
Seguirň questo tuo consiglio di sicuro...
Grazie della tua infinita pazienza e disponibilitŕ.
Dovrň trovare un modo per sdebitarmi...
Buona serata
Valeria