begin process at 2012 02 07 08:41:48
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > [VC++]DLL C++ DANS VB

[VC++]DLL C++ DANS VB


 Information sur la source

Note :
Aucune note
Catégorie :API Niveau :Initié Date de création :10/07/2002 Date de mise à jour :21/07/2003 20:20:57 Vu / téléchargé :6 094 / 555

Auteur : PierreF

Ecrire un message privé
Commentaire sur cette source (15)
Ajouter un commentaire et/ou une note

 Description

Un Petit programme pour montre comment utiliser une DLL faite en C++ (VC++ 6.0 où autre version) dans un programme en VB  


 Conclusion

J'ai encore quelque bug avec les BSTR et les SZSTR
BSTR -> string de VB (je sais pas comment c'est)
SZSTR -> Chaine de caractère terminer par un caractère 0

Et cette différence me fait de violation d'accès! mais seulement en Debug!!  

Mise a jour mineur : j'ai enlever le chdir dans le code en VB

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip [DEV C++]DLL EN C++ POUR UN PROGRAMME EN C++

 Sources de la même categorie

Source avec Zip WIN32 TLS LENT par dguilmain
Source avec Zip VIDER ELEMENTS DE CORBEILLE WINDOWS7 (WIN64) par BruNews
Source avec Zip Source avec une capture FIND TEXT (WIN64) par BruNews
Source avec Zip DELETE DIRECTORY (WIN64) par BruNews
Source avec Zip ENUM DIRECTORY (WIN64) par BruNews

Commentaires et avis

Commentaire de Arnaud le 13/07/2002 15:06:21

peu etre que ici j'aurrais une repose plus rapidement
comment on mets une fenetre dans un dll ????
Merci Djstey

Commentaire de PierreF le 13/07/2002 22:46:51

Voila, j'ai mit à jour ma source. J'éspere que ca repond à ta question
Si ce que tu veut c'est stocket une dialog (feuille dans les ressources) dans une DLL et l'utiliser dans un programme ca marche, je croie, exatement de la même façon, tu à une fonction du genre LoadDialogRes (un truc qui te charge la dialog) tu doit pouvoir lui demander de la charger à partire des ressources d'une DLL. Sinon la DLL charche la dialog et lui passe l'addresse mémoire.

Attention mettre une dialog dans une DLL et vouloir la charger et la gérer à partire de VB
ca doit être très dur!

Si j'ai pas répondu à ta question présice ta question et je regarderais si je peut t'aider

Commentaire de Arnaud le 14/07/2002 12:26:40

Merci cela répond a ma question mais en faite moi je pensais pouvoir intégrer une boite de dial. avec l'éditeurs de dial. de vc++.

Merci
Djstey

Commentaire de RbbR le 30/10/2002 16:08:37

ca fonction pa ????

Commentaire de juju62611 le 23/04/2003 08:39:34

ton programme fonctionne mais ce que je ne comprends pas
c'est que j'i fait un projet identique et il ne veut rien savoir il me dis toujours fichier dll introuvable qu'il soit dans le même repertoire que le projet vb ou dans system32 y a t'il qqchose a faire en plus ?

Commentaire de dualite2 le 21/07/2003 18:07:59

salut a tous
d'abord merci a toi pour ce code qui marche nikel, mais toutefois j'ai une petite remarque a faire dessus :
impossible de changer le contenu des variable d'appel via le pointeur passé en ByRef je supose donc que vb fait une copie de la variable en memoire en passe l'@ de cette copie ensuite a la fonction.
Ainsi une modification de la copie n'entraine pas celle de la variable ceci dit s'est assez ennuyeux vu que je contait sur cette possibilité pour mon programme alors si quelqu'un sait quelque chose qu'il n'hésite surtout pas a m'en faire profiter.
+ all

Commentaire de PierreF le 21/07/2003 20:29:35

Soit j'ai pas compris ce que tu veut faire, soit tu a mal regarder mes source
Pour modifier des nombre il y a Inc
Pour modifier des chaine de caractère (a condition d'être initialiser sous VB avec par exemple un chaine=space(255) pour un chaine de 255 caractère) il y a getvar

donc je sais pas si c'est ce que tu veut faire, si c'est le cas regard a nouveau les sources

Commentaire de dualite2 le 21/07/2003 23:26:27

oui en effet j'ai mal compris une partie des sources d'ailleur merci de me l'avoir fait remarquer ce prb m'empechait d'avancer.
Mais tu dis que getvar plante?
Autre question pourrais tu me dire a quoi sert le numéro unique @x.

Commentaire de PierreF le 22/07/2003 09:59:22

Il y a deux GetVar
- GetVar2: c'est celui auquel je pense dans mon précedent message
La DLL modifie une chaine de caractère a condition que le chaine est été initialiser (le tmp="     ", c'est similaire du get de VB)
Cette fonction n'a aucune problème. Bien entendu si on a mis 5 espace dans le chaine la DLL ne doit pas mettre plus de 5 caractère.

-Getvar : c'est la prémiere fonction que j'ai voulu fair. La c'est la DLL qui crée la chaine donc VB n'a pas besoin d'initialiser la chaine.
Mais cette fonction plante de temps a autre (en release ou pendant le debugage). La raison est explique dans le code en C, les commentair l'expliquant sont dans la fonction GetVar.
Pour fair simple c'est que VB n'utilise pas des chaine clasique, il a un en-tête et comme je ne sais pas le crée (car je ne connait pas le format) VB ne connait pas la taille de la chaine et prend n'importe quoi comme taille. Donc il y a des erreur (violation d'accés).

Pour les @x ca sera (dans notre cas) a rien du tout. c'est juste que les fonction éxporté on un numéro (ou alors c'est uniquement leurs ordre je sais pas) mais si on veut les référencés pas un numéro, comme ca on peut, il n'est pas du tout obligatoire, je l'ai mis car j'avait trouvée un exemple qui les mettait.

Commentaire de dualite2 le 22/07/2003 10:36:50

oki merci pour tout
ha encore un truc pour info il existe sous vb trois fonctions de pointeurs non documenté. sa pourrais servir dans le cadre de chaine non initialisé...
voili si je m'en sert je te rajouterai un exemple en commentaire histoire d'aller plus loin.
@+

Commentaire de jm2 le 23/07/2003 17:22:22

Ton exemple est très interessant.
Sais-tu comment renvoyer une chaine de caractère depuis la DLL vers VB?

Commentaire de dualite2 le 23/07/2003 19:35:45

si tu lis deux msg au dessus tu aura ta reponsse...

Commentaire de jm2 le 24/07/2003 11:06:49

Ma question au départ était la communication d'une chaine par retour de fonction et non par modification de contenu. Mais effectivement cette solution marche très bien, merci.

Commentaire de dualite2 le 25/07/2003 12:25:24

heu la il faut s'interesser au trois fonction de vb non documenté concernant les pointeurs.

Commentaire de JoePatent le 21/11/2003 03:34:29

moi j'ai vraiment besoin que la dll retourne une chaine de caracteres par retour de fonction.
Peux-tu me parler un peu plus des 3 fonctions non documenté.  Merci

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,920 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales