Newsgroup: it.comp.lang.visual-basic
Titolo: [?][VB]Dll da aggiungere durante la compilazione.

Ciao
non esiste qualche pgm che mi dica quali sono le dll o gli ocx   da
aggiungere quando compilo un pgm VB?
Mi spiego meglio :
Ho compilato un programma VB e l'ho installato successivamente su di un
notebook (con le stesse caratteristiche del pc "compilante" stesso MDAC
stesso ADO ecc.). Risultato "errore di runtime 429... ecc.".
A questo punto mi sono guardato un po' di articoli che parlavano di
questo problema e ho provato in tutti i modi.
Nessun risultato.
Mi sono detto "ok installo VB sul notebook così vedo il problema
qual'è." Installato VB il sorgente funziona.
Riprovo l'exe anche quello funziona.
Disinstallo VB e come per magia tutto funziona(Harry potter è un
dilettante rispetto alle magie dell'informatica!!!).
ora Vi chiedo sono pronto ad iscrivermi ad Hogwarts(scuola di magia)
oppure c'è una spiegazione???
grazie

 aggiungere quando compilo un pgm VB?
Ma hai provato a creare un pacchetto d'installazione?
Il tool è incluso nell'installazione di VB.
Ciao
--
Reporting tool: 
http://www.neodatatype.net

Si mi sono dimenticato di dirlo. l'exe è stato creato con il pacchetto
di installazione.
VB mi ingloba una serie di dll e di ocx ma il famigerato errore 429 mi
si presenta comunque.
ciao

 aggiungere quando compilo un pgm VB?
Il PDW (Package & Deployment Wizard), ossia il tool per fare i 
pacchetti di setup (indispensabili quando un exe deve girare su una 
macchina diversa da quella di sviluppo).
Ciao
Alberto
-- 
Autore di
"Petting for Dummies"

 di installazione.
Ma poi tu installi il setup, giusto?
Mica solo l'exe che ti compila.
Usi qualche componente strano?


si io installato da setup. 
Cose paricolari :
Winsock

 Winsock
Niente Jet?


Non penso.
il programma controllo lo stato di un processo (se attivo o non attivo)
e manda un messaggio via winsock su di un server remoto.
Scusami non ho molta esperienza in VB ma il jet se non sbaglio riguarda
i database (accesso ad access o cose del genere).

Dopo dura riflessione, silente_1 ha scritto :

Posta il setup.lst che trovi nel pacchetto di installazione.
Ciao


 Posta il setup.lst che trovi nel pacchetto di installazione.
Io gli farei postare la parte iniziale del .vbp, dove di sono tutti i
riferimenti.


questo è il setup.lst
************************************************************+
[Bootstrap]
SetupTitle=Installa
SetupText=Copia dei file in corso. Attendere.
CabFile=Client.CAB
Spawn=Setup1.exe
Uninstal=st6unst.exe
TmpDir=msftqws.pdw
Cabs=1
[Bootstrap Files]
File1=@VB6STKIT.DLL,$(WinSysPathSysFile),,,8/5/98 12.00.00
AM,102912,6.0.81.69
File2=@COMCAT.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,6/1/98
12.00.00 AM,22288,4.71.1460.1
File3=@VB6IT.DLL,$(WinSysPath),,$(Shared),8/5/98 12.00.00
AM,122128,5.0.81.69
File4=@STDOLE2.TLB,$(WinSysPathSysFile),$(TLBRegister),,6/19/03
12.05.04 PM,16896,2.40.4522.0
File5=@ASYCFILT.DLL,$(WinSysPathSysFile),,,6/19/03 12.05.04
PM,143632,2.40.4522.0
File6=@OLEPRO32.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,6/19/03
12.05.04 PM,164112,5.0.4522.0
File7=@OLEAUT32.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,6/19/03
12.05.04 PM,626960,2.40.4522.0
File8=@MSVBVM60.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,2/23/04
12.00.00 AM,1386496,6.0.97.82
[IconGroups]
Group0=Setup Controllo remoto
PrivateGroup0=Falso
Parent0=$(Programs)
[Setup Controllo remoto]
Icon1="Client.exe"
Title1=Setup Controllo remoto
StartIn1=$(AppPath)
[Setup]
Title=Controllo remoto
DefaultDir=$(ProgramFiles)\Client
AppExe=Client.exe
AppToUninstall=Client.exe
[Setup1 Files]
File1=@WPWIZDLL.DLL,$(AppPath),,$(Shared),6/2/98 10.48.30
AM,110016,6.1.33.0
File2=@WEBPOST.DLL,$(AppPath),,$(Shared),4/21/98 12.20.36
PM,145360,6.1.33.0
File3=@PIPARSE.DLL,$(AppPath),,$(Shared),4/21/98 12.20.34
PM,50816,6.1.33.0
File4=@POSTWPP.DLL,$(AppPath),,$(Shared),5/22/98 10.13.36
AM,98496,6.1.34.0
File5=@FPWPP.DLL,$(AppPath),,$(Shared),5/22/98 10.13.36
AM,92432,4.0.0.1711
File6=@CRSWPP.DLL,$(AppPath),,$(Shared),5/28/98 2.26.02
PM,121472,6.1.33.0
File7=@FTPWPP.DLL,$(AppPath),,$(Shared),4/21/98 12.20.34
PM,98960,6.1.33.0
File8=@scrrnit.dll,$(WinSysPath),,$(Shared),7/27/01 3.43.12
AM,24626,5.6.0.6626
File9=@scrrun.dll,$(WinSysPath),$(DLLSelfRegister),$(Shared),6/26/01
4.39.42 PM,151601,5.6.0.6626
File10=@WINSKIT.DLL,$(WinSysPath),,$(Shared),8/5/98 12.00.00
AM,15872,6.0.81.63
File11=@MSWINSCK.OCX,$(WinSysPath),$(DLLSelfRegister),$(Shared),3/9/04
12.00.00 AM,124688,6.1.97.82
File12=@RA_Delay.ocx,$(WinSysPath),$(DLLSelfRegister),$(Shared),9/15/00
11.43.34 AM,40960,1.0.0.2
File13=@Client.exe,$(AppPath),,$(Shared),8/23/05 8.54.39
AM,20480,1.0.0.0
************************************************************************+
e questo è il programma completo:
Option Explicit
Private Const BASE_ADDRESS      As Long = 1500
Private Const NUMBER_OF_PORTS   As Long = 10
'
' setto l'indirizzo del server.
'
Private Const TXT_HOST          As String = "127.0.0.1"
Public WSCK As Winsock
Public Wsckobj As Object
Public objWMIService As Object
Public Myprocesses As Object
Public msg As String
Sub Main()
Dim i As Integer
Dim y As Integer
Dim porta As Integer
Dim endtime As Double
Dim Host_Port As Long
Set Wsckobj = New Winsock
'*******************************
' imposto i valori del server  *
'*******************************
Wsckobj.Close
Wsckobj.RemoteHost = TXT_HOST
Wsckobj.RemotePort = BASE_ADDRESS
Host_Port = BASE_ADDRESS
Wsckobj.Protocol = 0
'*********************************************************
' è il numero di cicli dopo il quale il programma esce   *
'*********************************************************
For y = 1 To 6
'*********************************************************************
' faccio il calcolo di quanto tempo passa tra un controllo e l'altro *
'*********************************************************************
endtime = Timer + 1#
Do While endtime > Timer
DoEvents
Loop
'***********************************************************************
' Controllo lo stato della connessione. 9 significa che c'è un errore.
*
'***********************************************************************
Wsckobj.Connect
Do While Wsckobj.State = 9
    Wsckobj.Close
    Host_Port = Host_Port + 1
    Wsckobj.RemotePort = Host_Port
    Wsckobj.Connect
    DoEvents
'********************************************************
' Finchè lo stato è 6 = "connessione in corso" attendo  *
'********************************************************
Do While Wsckobj.State = 6
DoEvents
Loop
Loop
'********************************************************
' Finchè lo stato è 6 = "connessione in corso" attendo  *
'********************************************************
Do While Wsckobj.State = 6
DoEvents
Loop
'******************************************
' Quando lo stato diventa 7 = "connesso"  *
'******************************************
If Wsckobj.State = 7 Then
    messaggio
End If
Wsckobj.Close
Next y
MsgBox "Finito"
Set Wsckobj = Nothing
End Sub
Sub messaggio()
Dim endtime As Double
Dim mess As String
msg = StatoProcesso.StatoProcesso(mess)
Do While Wsckobj.State = 6
    DoEvents
Loop
'MsgBox mess
Wsckobj.SendData mess & vbCrLf
DoEvents
End Sub
Function StatoProcesso(messaggio As String) As String
'*************************
Dim NomeProcesso As String
Dim contatore As Integer
'*************************
'Imposto le variabili
contatore = 0
NomeProcesso = "IEXPLORE.EXE"
'*************************
' creazione degli oggetti
Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & ".\root\cimv2")
Set Myprocesses = objWMIService.ExecQuery _
        ("Select * from Win32_Process Where Name = '" & NomeProcesso &
"'")
'************************
'Controllo se il processo è attivo. Se si allora contatore >1
altrimenti =0
For Each objprocess In Myprocesses
    If objprocess.processid <> 0 Then
        messaggio = "il PID del processo " & NomeProcesso & " è " &
objprocess.processid
        contatore = contatore + 1
    End If
Next
'************************
'Se contatore = 0 allora errore.
If contatore = 0 Then messaggio = "Il processo " & NomeProcesso & " non
è attivo."
End Function

 ************************************************************+
Ciao,
visto che fai uso di WMI, ricordati che su Windows 98 č necessario 
installare le librerie WMI con un apposito setup fornito da MS.
Siccome non hai indicato il SO target, ho ritenuto utile precisartelo.
Comunque, ho notato nel setup.lst una serie di DLL/OCX che non sembrano 
utilizzate nel codice che hai mostrato.
Ciao
-- 
Gianluca Cannalire
Microsoft MVP/MCP - Visual Basic
http://www.visual-basic.it
http://community.visual-basic.it/gianluca

Il sistema operativo target è w2000 (come anche quello di partenza).
Le dll aggiunte sono quello che ho trovato sul notebook che sono
rimaste installate sul notebook dopo VB.
Ci ho provato :) 
senza risultato:(
ciao

 rimaste installate sul notebook dopo VB.
Quello che intendeva dire Gianluca č che il tuo progetto referenzia un po'
di dll che non vengono di fatto utilizzate.
Ma non č questo il problema.
Avrei quasi scommesso anch'io sulla GetObject, comunque se non ne vieni
fuori la soluzione č questa: ti metti sotto gli MzTools (
www.mztools.com
)
cosě ti sarŕ piů semplice numerarti tutte le righe di codice.
Poi metti la gestione degli errori nelle varie routine con una msgbox che
mostri l'ERL (anche questo puoi farlo facilmente con gli MzTools) cosě
quando ti va in errore ti dirŕ su che linea e tutto sarŕ piů chiaro.


Ok il problema si verifica sulla prima riga del programma (incominciamo
bene :-) )
Set Wsckobj = New Winsock.
Ma non capisco. L'OCX  del winsock io l'ho integrato nel pacchetto...

 Set Wsckobj = New Winsock
ho provato il codice che hai postato, a me l'errore che hai segnalato
lo da la riga con New Winsock.
me lo segnala appena premo f5
perche' funzioni ho fatto cosi':
ho aggiunto un form 'Form1' e in questo form ho inserito il
controllo Winsock 'Winsock1' quindi ho modificato la riga incriminata
cosi':
Set Wsckobj = Form1.Winsock1
ho anche cambiato la dichiarazione
da:
Public Wsckobj As Object
a
Public Wsckobj As Winsock
ma questo non cambia niente, nel funzionamento
hth
bye
r

 Ok il problema si verifica sulla prima riga del programma (incominciamo

Sě, ma questo non lo compila neanche... come cavolo hai fatto a distribuire
il pacchetto?


 Winsock
Ma guarda...
E' il *primo* link che esce cercando su MSDN...
http://support.microsoft.com/default.aspx?scid=kb;en-us;313984


Ok ora funziona.
Grazie a tutti.
slts

 
http://support.microsoft.com/default.aspx?scid=kb;en-us;313984
Della serie "come perdersi in un bicchier d'acqua"!
