Casse tete DLL ActiveX

Résolu
Youpien Messages postés 29 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 22 février 2009 - 30 mai 2005 à 20:04
Youpien Messages postés 29 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 22 février 2009 - 31 mai 2005 à 14:58
Salut!!
Bon je suis bloque malgre mes recherches sur les forums et autres codes source.

J'ai cree une DLL que j'arrive a compiler, mais je n'arrive pas a l'utiliser.
Qui pourrait m'aider???

Voici le code de la DLL : (Repris sur un code source mais utiliser dans un module!)
Elle sert a ecrire et lire dans un fichier ini.

Private 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


Public Sub EcrireIni(section As String, cle As String, _ valeur As String, Fichier As String)
WritePrivateProfileString section, cle, valeur, Fichier
End Sub


Public Function LireIni(section As String, cle As String, Fichier As String, _
Optional ValeurParDefaut As String = "") As String
Dim strReturn As String
strReturn = String(255, 0)
GetPrivateProfileString section, cle, ValeurParDefaut, strReturn, Len(strReturn), Fichier
LireIni = Left(strReturn, InStr(strReturn, Chr(0)) - 1)
End Function

J'ai appele le projet : fichierini.vbp, la class : init, et donc je n'arrive pas a utiliser les deux fontions : LireIni et EcrireIni.

Comment faut 'il s'y prendre???
J'ai essaye :
'Public init As Object
'Dim maDLL As fichierini.init
ord = maDLL.LireIni("Ordre", "Info" & i, App.Path & "\prog.ini")

mais ca marche pas!
Help me!!

4 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
30 mai 2005 à 21:32
Youps, excuse, je me suis planté, la déclaration doit se faire comme cà plutôt :



Dim maDLL As New Init

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
30 mai 2005 à 20:13
Hum, c'est quoi cà : "As fichierini.init" ?



Quel est le nom de ta classe ? Init c'est bien cà ? Alors il te suffit
de référencer ta dll dans VB (menu Projet/Composants, puis va chercher
ton fichier dll avec le bouton Parcourir...)



Ensuite, dans ton code :

Dim maDLL As Init

ord = maDLL.LireIni("Ordre", "Info" & i, App.Path & "\prog.ini")



Sinon, une petite remarque : il est de moins en moins courant
d'utiliser des fichiers ini : depuis Windows 95, il est plutôt
recommandé d'utiliser la base de registre !

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
0
Youpien Messages postés 29 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 22 février 2009
30 mai 2005 à 21:19
Merci j'essaie ca !!!!
En faite je traite ca en fichier ini pour deux raison, une pour apprendre les dll!! je rame! et ensuite je me sent plus en confiance pour l'instant avec les fichiers ini, je debute!!! lol

Bon alors j'ai essaye mais je dois avoir un autre probleme car lorsque je lance le projet il me sort Run-time error 91, Object variable or with block variable no set.

Je clique sur debug et il me sort la ligne :

ord = maDLL.LireIni("Ordre", "Info" & i, App.Path & "\prog.ini")

Qu'ai je put oublié!!???

Pourtant avant j'avais tous mis dans un module attenant au projet et j'avais pas de probleme! Que depuis que j'essaie d'en faire une DLL!
0
Youpien Messages postés 29 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 22 février 2009
31 mai 2005 à 14:58
Genial!!!
Ca marche du tonnerre!!

Merci !!!
0
Rejoignez-nous