Librairie port.dll [Résolu]

Messages postés
11
Date d'inscription
vendredi 9 février 2007
Dernière intervention
5 mars 2007
- 9 févr. 2007 à 16:46 - Dernière réponse :
Messages postés
11
Date d'inscription
vendredi 9 février 2007
Dernière intervention
5 mars 2007
- 9 févr. 2007 à 19:10
    Bonjour à tous,

    J'essaie de créer un logiciel qui génère un signal particulier (entre 1900 et  2500 Hz) sur la sortie de la carte son. Après recherches, j'ai décider d'utiliser port.dll pour créer mon logiciel. J'ai télécharger la dernière version compatible XP

    Malheureusement, les rares exemples que j'aie trouvés sont fait sous visual basic 6, or je suis en .net. Aussi, aurais-je besoin d'aide, si une âme charitable acceptaient de m'aider...
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
Messages postés
11
Date d'inscription
vendredi 9 février 2007
Dernière intervention
5 mars 2007
9 févr. 2007 à 19:10
3
Merci
   Bon, alors le private à pas l'air de marcher , du moins chez moi. Cependant, j'air regarder un peu inpout32.dll, et ça me convient parfaitement, c'est parfait pour gérer des trame numérique via la carte son. Donc, en ce qui me concerne, ce sujet est classé.

   Encore merci pour tout, à tous ceux qui m'ont aidé

Deusyss

Merci deusyss 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de deusyss
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
9 févr. 2007 à 17:03
0
Merci
Indique ici ton problème, éventuellement avec le bout de code qui merde et on essayera de t'aider.

Sans trop vouloir m'avancer, je dirais qu'à priori ton soucis va se porter sur la déclaration des fonctions de la dll

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Commenter la réponse de cs_casy
Messages postés
11
Date d'inscription
vendredi 9 février 2007
Dernière intervention
5 mars 2007
9 févr. 2007 à 17:09
0
Merci
Bonjour Casy, et merci pour ta réponse. Voici mon code source. Je tient également à préciser que je n'utilise pas vb.net de microsoft, mais sharpdevelop.

Public Partial Class MainForm
    
    Declare Sub OUTPORT Lib "PORT.dll" (ByVal adr As Integer, ByVal dat As Integer)
    Declare Function INPORT Lib "PORT.dll" (ByVal adr As Integer) As Integer
    Declare Sub DELAY Lib "PORT.dll" (ByVal temp As Integer)
    
    dim n as Integer    
    
    Public Sub New()
        ' The Me.InitializeComponent call is required for Windows Forms designer support.
        Me.InitializeComponent()
                
    End Sub
    
    Sub Button1Click(ByVal sender As Object, ByVal e As EventArgs)
        For n=1 To 100
            outport (97,(inport(97) or 2))
            delay(2)
            outport (97,(inport(97) and 253))
            delay(2)    
        Next
    End Sub
End Class

A priori le code est bon. Maintenant, il vient d'un site en allemand, et je ne parle pas l'allemand, donc pas trop de moyen de vérifier.

   Merci d'avance à tous ceux qui m'aide, et m'aideront (surtout Casy)
Commenter la réponse de deusyss
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
9 févr. 2007 à 17:15
0
Merci
Quelque chose en français, pour y voir plus clair (sous VB6 et donc à transposer)
Commenter la réponse de jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
9 févr. 2007 à 17:16
0
Merci
Zut (lien oublié)
Le voici

http://www.hjberndt.de/book/pcsfr3.html
Commenter la réponse de jmfmarques
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
9 févr. 2007 à 17:20
0
Merci
Alors je dirais tout d'abord qu'il faut revoir le type des variables des fonctions de la dll

Les types de variables ont changés en .Net
Donc tout ce qui est en Integer dans la dll doit etre déclaré en Short (ou Int16 si tu préfere) sous .Net

    Declare Sub OUTPORT Lib "PORT.dll" (ByVal adr As Short, ByVal dat As Short)
    Declare Function INPORT Lib "PORT.dll" (ByVal adr As Short) As Short
    Declare Sub DELAY Lib "PORT.dll" (ByVal temp As Short)

Et au passage, voila l'adresse de la version française ;) : http://www.b-kainka.de/schnfr.htm

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Commenter la réponse de cs_casy
Messages postés
11
Date d'inscription
vendredi 9 février 2007
Dernière intervention
5 mars 2007
9 févr. 2007 à 17:25
0
Merci
   Merci beaucoup pour votre aide, malheureusement, ça ne marche toujours pas. Par contre, pour indication, il m'affiche ceci:

Exception System.Runtime.InteropServices.SEHException was thrown in debuggee:
External component has thrown an exception.

   Si quelqu'un sait comment y remedier
Commenter la réponse de deusyss
Messages postés
11
Date d'inscription
vendredi 9 février 2007
Dernière intervention
5 mars 2007
9 févr. 2007 à 17:51
0
Merci
    Désolé pour le double post.

   Donc, je viens de réinstaller mon vieux vb6, pour essayer le code des pages que vous m'avez joint.

    Il s'avère que le programme ne compile pas plus. il m'affiche un message d'erreurs sur les declaratioons des fonctions de la dll, comme quoi "declare statements not allowed as public members of object modules".

    Pour informations, sinon, j'aimerias développé cet applications sous vb.net, mais dans un 1er temps je pourrai me contenter d'une version vb6
Commenter la réponse de deusyss
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
9 févr. 2007 à 18:01
0
Merci
bon j'ai mis un peu de temps pour percuter, mais cette dll ne fonctionne pas sur les plateforme NT (Windows 2000, XP, ...)

Elle accède directement au matériel et ça windows ne le permet plus. Elle a été développée à l'origine pour windows 95 et 98 qui étaient très permissif de ce coté là.

Donc tu peux laisser tomber tu ne fera pas marcher cette dll.

Il faut que tu te tourne vers une autre dll qui elle integre un pseudo driver pour acceder au matériel.

Fait une recherche sur le net, (ou même peut-etre ici) sur InpOut32.dll

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Commenter la réponse de cs_casy
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
9 févr. 2007 à 18:15
0
Merci
Pas de précxipitation, là...


Où as-tu mis tes fonctions ?


Si dans un modile, ok...


Mais si sur la Form : il est nécessaire de les déclarer en "Private"




 Private Declare Sub OUTPORT Lib "PORT.dll" (B..... etc....


 
Commenter la réponse de jmfmarques
Messages postés
11
Date d'inscription
vendredi 9 février 2007
Dernière intervention
5 mars 2007
9 févr. 2007 à 18:26
0
Merci
   Merci, je vais regarder la dll que tu m'as donné. Mais pour info, l'auteur de port.dll à créer une nouvelle version compatible XP (créée en 2007).

    Mais je vais regarder du coté de inpout32.dll.
Commenter la réponse de deusyss
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
9 févr. 2007 à 18:29
0
Merci
ah ben faut regarder cette nouvelle version alors. En tout cas c'est celle que j'ai trouver moi.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Commenter la réponse de cs_casy

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.