Discussions au sujet des autres produits NI

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Standard Input/Output (affichage de printf)

Bonjour,
 
Bon voila, j'ai réalisé une DLL avec différentes fonctions ... Qui peuvent bien se passer ou mal se passer ...
 
J'ai pour cela mis des printfs dans ma dll (qui était au depart un .exe) mais comment puis je les afficher dans le standard input/output ...
 
J'ai un exemple que j'ai trouvé sur ni.com qui le fait .... Avec un printf et le message est mis dans une boite de dialogue Standard input/output, j'ai essayé de reproduire l'exemple ... Mais rien a faire ... ca ne veut pas fonctionner comme dans le VI trouvé sur ni.com
 
voici un bout de code :
#include <winsock2.h>
__declspec(dllexport) __stdcall int sending(char *buffer);
__declspec(dllexport) __stdcall int sending(char *buffer){
  nbCaractere = send(idSocket, buffer, strlen(buffer), 0);
  if (nbCaractere == SOCKET_ERROR){
    printf("\nDesole, je n'ai pas envoyer les donnees du a l'erreur : %d", WSAGetLastError());
    return WSAGetLastError();
  }
  else
    printf("\nsend        : OK");
}
 
Si vous avez une autre methode pour pouvoir afficher les messages simplement je suis preneur (ceci est une exemple d'une des fonctions que j'utilise).
 
Donc pour résumer, je voudrais afficher des printf fait dans une dll ... Pour faire simple 😛
 
Merci d'avance ...
0 Compliments
Message 1 sur 17
3 848 Visites
Bonjour,
Quel logiciel utilisez vous? Vous avez mis du code C alors que vous parlez de VI.
Si votre logiciel est CVI, avez vous essayé avec la fonction strout()?


Message Edité par ManuelR le 02-11-2008 07:31 AM
Manuel R
AE dans une autre vie
0 Compliments
Message 2 sur 17
3 843 Visites
J'utilise une version de LabView 6.0i (edition Standard)
 
Dans labView j'ai inserer ma DLL a l'aide de Call Library Function ... et ma dll je l'ai compilée (avec succès) sous Dev-Cpp ...
 
Je souhaite juste afficher le printf qui est dans ma dll sous labview ... (Comme quand on excecute une application win32 sous dos et qu'il affiche le printf)
0 Compliments
Message 3 sur 17
3 839 Visites
Vous pouvez passer votre message en sortie de dll et l'affcher dans un terminal sous LabVIEW?
Manuel R
AE dans une autre vie
0 Compliments
Message 4 sur 17
3 837 Visites

Ma dll dispose de plein de fonction différente, que j'utilise a différent endroit dans mon VI, il serait lourd de penser a tout ca ...

Alors que je pourrais sortir le message dans le standard Input/Output de labView

 

Je vous joint un exemple du code que j'ai trouvé qu'y réalise ce que je voudrais faire !

 

(cela serait tellement plus simple ... Puisque apparement cela a l'air simple .... Mais je ne trouve pas l'astuce, puisqu'au final, mon code s'apparente au sien ... Mais pas a 100% apparement 😞



Message Edité par uFo le 02-11-2008 07:49 AM
0 Compliments
Message 5 sur 17
3 835 Visites

Félicitations pour cet exemple qui cible bien le thème du message! Smiley tirant la langue

Lorsque j'exécute votre code j'ai une fenêtre qui s'affiche pour le cas " else printf("Operation %s NOT recognized\n",operation);":



Message Edité par ManuelR le 02-11-2008 08:51 AM
Manuel R
AE dans une autre vie
Message 6 sur 17
3 828 Visites

Je voudrais réaliser le même ...

je trouve ca plus pratique pour la gestion des erreurs, vu que je les ai écrites 🙂

Mais chez moi je n'y arrive pas... Auriez vous la marche a suivre pour arriver au meme resultat ?

Mais si je regarde du plus pret le screenshot que vous avez inclus, je remarque que votre Call Library Function différe du mien ... Et je n'ai pas la sortir "Sortie d'erreur" ... Non plus

Est ce que vous l'avez rajouté ou est ce que c'est apparu quand vous l'avez ouvert ? Car alors il est fortement possible que ce soit ca le probleme ... Et donc je n'y arriverais pas du faite de ne pas avoir une version suffisament elevee de labView ???

 

 

0 Compliments
Message 7 sur 17
3 821 Visites
La démarche à suivre est simple! j'ai lancé votre code!
J'utilise LabVIEW 8.5. J'ai même lancé votre code sur une version d'évaluation (30j) que je viens de télécharger Smiley clignant de l'œil
Manuel R
AE dans une autre vie
0 Compliments
Message 8 sur 17
3 813 Visites
Bonjour ... Comme je vous l'avais dis ... Je veux faire la même chose que dans le code ci-dessus (que je vous ai joint), c'est à dire afficher le printf de la dll dans la fenetre de dialogue Standart Input/Output ...
 
Je vous joint un screenshot de ce que je vois dans le bloque diagramme ... Qui est legerement différent ... Je n'ai pas comme vous la sortie erreur ...
 
Mais quand j'excecute le code que je vous ai donné, cela fonctionne quand meme correctement ... Mais si je veux le refaire pour une autre application (l'exemple fournit n'est pas de moi), cela ne fonctionne pas ... Pourtant il me semble que j'ai fais exactement la même chose ... Mise a part maintenant la legere différence entre nos deux bloc diagrammes !
 
Donc Existe t'il dans mon cas une methode pour arriver au meme resultat ?
0 Compliments
Message 9 sur 17
3 809 Visites

Cette légère diffère est liée aux évolutions et améliorations de LabVIEW Smiley clignant de l'œil

Si je comprend bien le code que j'ai lancé fonctionne chez vous aussi mais pas le code du premier post? Etes vous sur que vous exécutez bien le printf dans votre code?

 

 

Manuel R
AE dans une autre vie
0 Compliments
Message 10 sur 17
3 804 Visites