Comment utiliser du code en C dans visual Basic - Programmation
Marsh Posté le 13-04-2001 à 11:25:01
Je connais pas le Visual Basic mais je peux peut etre te conseiller d'utiliser JBuilder(c un Rapid Application Developement pour Java) pour faire ton interface. Il existe un truc qui s'appelle Java Native Interface qui permet d'appeler et d'etre appele du langage C/C++,ASM...
Sinon tu peux toujours utiliser C++Builder qui lui est un RAD pour C++. Voila j'espere que ca peut t'aider.
Marsh Posté le 13-04-2001 à 11:38:13
c'est clair que si ton code est en c je te conseille vivement Borland C++ Builder qui est tres facile d'utilisation.
Marsh Posté le 13-04-2001 à 11:54:46
Fait une DLL... exporte les fonctions dont tu as besoin
Charge les DLL dans ton appli...
Pour les Fonction d'interface tu peux utiliser la classe d'edition de liens STD
Marsh Posté le 13-04-2001 à 13:09:21
Bon ben j'vais tester C++Builder alors.
Merci bien tout le monde.
Marsh Posté le 13-04-2001 à 14:26:35
Bon alors c++ builder c bien mais ca coute des sous sous tout ca.
Donc j'ai crée ma dll ,jusque la no souci. J'arrive a partir de Vb a appeler les fonctions de ma dll , a recupérer la valeur qu'elles retournent mais , impossible de passer une variable en param a ces fichues fonction.
Exemple :
Dans ma dll j'ai une foncttion declarée de la facon suivante :
extern "C" __declspec(dllexport) int test2(int);
Le code ressemble a ca :
int test2 (int val)
{
return val + 3;
}
Dans VB je la déclare comme ca:
Declare Function test2 Lib "tmp2.dll" (a As Integer) As Integer
Et je l'apelle comme ca :
max = test2(5)
ET CA MARCHE PAS ET CA M'ENERVE ALORS QUE QUAND J'FAIS PAREIL AVEC UNE FONCTION QUI NE PREND PAS DE PARAM CA MARCHE !
Alors si vous pouviez me sauver la vie .....
Marsh Posté le 13-04-2001 à 16:35:26
Essaye en spécifiant le type de passage des paramètres genre :
Declare Function test2 Lib "tmp2.dll" (ByVal a As Integer) As Integer
Je ne sai spas si ca va marcher, m'enfin fo tester
[edit]--Message édité par Lord II--[/edit]
Marsh Posté le 13-04-2001 à 17:01:28
Ca a pas l'air de marcher bcp plus m'enfin je verais ca plus tard.
Ca suffit pour aujourd'hui , je me met en greve !
Marsh Posté le 16-04-2001 à 05:41:01
Declare Function test2 Lib "tmp2.dll" (ByRef a As Long) As Long <--- devré fonctionner
Marsh Posté le 13-04-2001 à 01:57:12
En fait le truc c'est que j'ai codé le noyau de mon prog en C standard et j'ai la méga fléme de passer par l'API windows pour faire une interface que je mettrais 5 min a faire sous VB.
Voila, si vous avez une idée ..... voir même une solution , je suis preneur !
---------------
La vie n'est pas un restaurant mais un buffet. Levez-vous pour vous servir.