Δεδομένου ότι δεν έχω πλέον VB6 εγκατεστημένη, θα πρέπει να φτιάξεις ένα project (που να βγάζει dll).
Αναλυτικά:
- Φτιάξε το Project
- Μπορεί να θέλει reference στο stdole2.tlb
- Πρόσθεσε ένα .bas με το ακόλουθο περιεχόμενο
Public Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long
Public Declare Function WriteProfileString Lib "kernel32" Alias "WriteProfileStringA" (ByVal lpszSection As String, ByVal lpszKeyName As String, ByVal lpszString As String) As Long
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
Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
- Πρόσθεσε ένα .cls με το ακόλουθο περιεχόμενο (το class πρέπει να είναι global, να μην χρειάζεται new)
Public Function sl_GetProfileStr(ByVal strSection As String, ByVal strEntry As String, ByVal strDefault As String) As String
Dim strTmp As String, lngDummy As Long
strTmp = String(512, 0)
lngDummy = GetProfileString(strSection, strEntry, strDefault, strTmp, 1024)
sl_GetProfileStr = Left(strTmp, InStr(1, strTmp, Chr(0)) - 1)
End Function
Public Function sl_GetPrivProfileStr(ByVal strSection As String, ByVal strEntry As String, ByVal strDefault As String, ByVal strINI As String) As String
Dim strTmp As String, lngDummy As Long
strTmp = String(512, 0)
lngDummy = GetPrivateProfileString(strSection, strEntry, strDefault, strTmp, 1024, strINI)
sl_GetPrivProfileStr = Left(strTmp, InStr(1, strTmp, Chr(0)) - 1)
End Function
Public Function sl_WritePrivProfileString(ByVal strSection As String, ByVal strEntry As String, ByVal strValue As String, ByVal strINI As String) As Long
sl_WritePrivProfileString = WritePrivateProfileString(strSection, strEntry, strValue, strINI)
End Function
Public Function sl_WriteProfileString(ByVal strSection As String, ByVal strEntry As String, ByVal strValue As String) As Long
sl_WriteProfileString = WriteProfileString(strSection, strEntry, strValue)
End Function
- Compile and use
Σημειώσεις:
- Εάν χτυπήσει, πες μου. Μπορεί να έχω ξεχάσει κάτι
- To πρόθεμα "sl_" είναι ένα πρόθεμα που χρησιμοποιούσα στις βιβλιοθήκες μου. Το κρατάς ή το αλλάζεις
- Οι functions με το "Priv" βλέπου το .INI που τους περνάς. Οι άλλες το WIN.INI. Δηλαδή έχουμε απλό wrapping των API functions
Άρης
Aris