ivdz
Messages postés17Date d'inscriptionjeudi 4 juillet 2002StatutMembreDernière intervention 5 août 2003
-
4 août 2003 à 15:10
ivdz
Messages postés17Date d'inscriptionjeudi 4 juillet 2002StatutMembreDernière intervention 5 août 2003
-
5 août 2003 à 15:49
Bonjour,
Voici une partie du .h de mon exécutable que je dois transformer en DLL (sous C++ builder 6) :
#ifndef MODBUSTCPIP_H
#define MODBUSTCPIP_H
class CModbusTCPIP
{
public :
CModbusTCPIP(void);
~CModbusTCPIP(void);
bool Ouverture(const char FAR *ad);
void Fermeture();
bool ModbusLecturebit(unsigned short num, unsigned short adresse, int nb);
bool ModbusLecturemot(unsigned short num, unsigned short adresse, int nb);
private :
void Lecturebit(unsigned short num, unsigned short adresse, int nb, BYTE *trame);
void Lecturemot(unsigned short num, unsigned short adresse, int nb, BYTE *trame);
bool InitWinsock2();
bool CreationSocket();
private :
int sock;
const char FAR* adresse;
};
#endif
Je dois donc transformer mon programme en DLL. Si quelqu’un pouvez m’expliquer :
- les étapes à suivre pour réaliser ma DLL sous c++ builder 6
- comment appelle cette dll d’un nouveau projet
Je sais qu’il existe une aide : http://lfe.developpez.com/DLL/ mais je n’ai pas tout compris. J’ai essayé de faire une DLL en suivant ses exemples mais je n’y suis pas arrivée.
Quelqu’un pourrait me dire la différence entre une DLL statique et une DLL dynamique ? Pourquoi faire l’une plutôt que l’autre ? Ma DLL sera composée d’une classe, dois-je faire une DLL statique ou dynamique ?
Merci Isabelle
A voir également:
"Php variables" "server api" "build date" "php version 4.4.5"
fredcl
Messages postés547Date d'inscriptionmercredi 8 janvier 2003StatutMembreDernière intervention 7 octobre 20071 5 août 2003 à 11:05
Cherche dans l'aide de C++ Builder 6, c'est expliqué.
une DLL (Dynamic Link Library) est comme son nom l'indique dynamique. Cela donneras un fichier du type nom_de_fichier.DLL
Les bibliothèque statique sont de la forme nom_de_fichier.LIB
une fois que ta DLL est créée. Tu as deux solutions pour lié ton exécutable à ta DLL.
1 : passer par les fonctions de l'API Windows LoadLibrary et GetProcAddress.
2 : utiliser l'utilitaire IMPLIB sur ta DLL, ce qui te créera un tout petit fichiers nom_de_ta_dll.lib. Fichier que tu liera avec ton executable. Ce fichier .LIB évite d'avoir à utiliser les API windows, mais t'oblige à avoir obligatoirement la dll accessible par ton exe.
ivdz
Messages postés17Date d'inscriptionjeudi 4 juillet 2002StatutMembreDernière intervention 5 août 2003 5 août 2003 à 14:09
J'ai déjà regardé et j'ai essayé de créer une DLL (constituée d'une classe) en m'aidant de l'aide C++ builder 6 mais je n'y suis pas arrivée. C'est pour cela que j'ai posté ce message.
Si quelqu'un avait un exemple qui fonctionne de DLL constituée d'une classe, cela m'aiderait bcp.
pour utiliser cette dll dans un projet C++ builder, ne pas oublier d'ajouter au projet le fichier .lib générer par IMPLIB a la fin de la compilation de ta DLL