Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Errore solo in RunTime compilato

Nella funzione Load della finestra principale del programma, questa
riga mi da un errore solo quando eseguo l'exe compilato, mentre in
runtime non compilato va tutto bene:
DE1.CN1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" & DBPath & "c:\database\db1.mdb;Persist Security Info=False"
Cosa devo controllare?
Grazie a tutti!
PS: Testato e compilato su Win98 e XP, uso ADO 2.7


Quale errore?
(btw, DBPath ha un valore vero?)
ciao
ugo
-----------------------------------
Links:
Sito Comune: 
www.it-lang-vb.net
MSDN: 
msdn.microsoft.com

 (btw, DBPath ha un valore vero?)
DBPath & "c:\database\db1.mdb;
non c'e' qualcosa di troppo?


mmm, maybe...  :-)
ciao
ugo

On Thu, 07 Mar 2002 21:21:33 GMT, 
bun...@libero.it
 (Giovanni De Rosa)
wrote:

Chiedo scusa per gli errori di trascrizione che ho riportato.
La funzione e' corretta nel programma.
Ho notato in un secondo momento (non so come) che l'errore non era
piu' generato da questa riga di codice, ma da un'altra che faceva uso
di una funzione API 16bit.
Eppure sono sicuro che ho "remmato" ka funzione al database ed il
programma girava bene.
Bha, forse il digitale non e' solo 1 o 0, ma anche forse :-)))
Le funzioni API che usavo mi servivano a gestire un file .INI
Avete un'altra soluzione per registrare i settaggi di un programma?
Ciao grazie e scusate ancora!
Buon lavoro a tutti!

 Avete un'altra soluzione per registrare i settaggi di un programma?
la funzione WritePrivateProfileString(), esportata da kernel32.dll,
funziona benissimo...
--
Faber



Infatti uso proprio quella accompagnata da GetPrivateProfileString,
quest'ultima mi da l'errore!
Riporto cosa fa:
GetPrivateProfileString("SERVER", "Path", "<err>", RetVal, 1000,
"c:\windows\" & INIFILE)
Nel file.ini c'e':
[SERVER]
Path=\\XPServer\c\Database
PS: E' la prima volta che uso queste funzioni.

 >Grazie a tutti!
scusa se mi ripeto, ma qui sopra il path lo scrivi 2 volte.
aut dbpath valorizzato, aut stringa.



Ed io mi ripeto nel chiedere scusa per la trascrizione.
Nel programma il codice e' ovviamente corretto:
Source=" & DBPath & "\db1.mdb;Persist Security Info=False"
Ciao e grazie!

 "c:\windows\" & INIFILE)
GetPrivateProfileString() com'è dichiarata?
la stringa RetVal com'è dichiarata?
--
Faber


Nel Modulo globale:
Public Declare Function GetPrivateProfileString Lib "kernel32" Alias
"GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal
lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As
String, ByVal nSize As Long, ByVal lpFileName As String) As Long
La funzione nel Modulo globale:
Public Function GetINIValue(Section As String, Name As String) As
String
Dim RET As Long
Dim RetVal As String
RetVal = Space$(100)
RET = GetPrivateProfileString(Section, Name, "<err>", RetVal, 1000,
"c:\windows\" & INIFILE)
RetVal = Trim(RetVal)
If RetVal <> "" Then
    Debug.Print "OK"
    GetINIValue = Left$(RetVal, Len(RetVal) - 1)
Else
    GetINIValue = ""
End If
End Function
Grazie per l'aiuto....

 "c:\windows\" & INIFILE)
la variabile RetVal ha 100 spazi, ma alla funzione dell'API passi 1000
...
direi:
Public Function GetINIValue(ByVal strSection As String, _
    ByVal strKey As String) As String
    Dim strRet As String
    Dim lngLenResult As Long
    strRet = String$(255, 0)
    lngLenResult = GetPrivateProfileString(strSection, strKey, _
        "<err>", strRet, Len(strRet), "c:\windows\" & INIFILE)
    If (lngLenResult > 0) Then _
        GetINIValue = Left$(strRet, lngLenResult)
End Function
Ciao
--
Faber