IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Comment communiquer entre une application windev et un programme C ou C++


Sujet :

WinDev

  1. #21
    Membre à l'essai
    Homme Profil pro
    On a pas fini d'apprendre
    Inscrit en
    Mars 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : On a pas fini d'apprendre
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 43
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    c'est là où il y a les procédures locales les procédures globales
    oui oui c'est bien l'explorateur du projet?

  2. #22
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 951
    Points : 9 280
    Points
    9 280
    Par défaut
    non non les volets

    affichage/barre d'outils/volets/code
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  3. #23
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 951
    Points : 9 280
    Points
    9 280
    Par défaut
    Effectivement on voit aussi sous Explorateur de projet

    déroule l'arborescence de l'assemblage OpenNI.Net et dit moi ce que tu vois
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  4. #24
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 951
    Points : 9 280
    Points
    9 280
    Par défaut
    bon finalement j'ai vu qu'il faut certainement mettre des guillemets en WD15 :
    avec la syntaxe <Nom de l'objet> est "<Nom de la classe>".
    En WD16 on peut ne plus mettre les guillemets :
    donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     monscriptNode est un "OpenNI.ScriptNode" dynamique
     
    moncontexte est un "OpenNI.Context" dynamique
    monDepthgenerator est un "OpenNI.DepthGenerator" dynamique
     
    moncontexte =  OpenNI.Context.CreateFromXmlFile("Data/SamplesConfig.xml",monscriptNode)
     
    monDepthgenerator = moncontexte:FindExistingNode(OpenNI.NodeType.Depth)
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  5. #25
    Membre à l'essai
    Homme Profil pro
    On a pas fini d'apprendre
    Inscrit en
    Mars 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : On a pas fini d'apprendre
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 43
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    Effectivement on voit aussi sous Explorateur de projet

    déroule l'arborescence de l'assemblage OpenNI.Net et dit moi ce que tu vois
    tout a fait JP, il y a toutes les classes d'OpenNi, alors pourquoi windev ne reconnait pas le code que tu m'as donné? remarque que j'ai fais un vulgere copier coller, peut etre il fait aller chercher les classes a utiliser depuis cet explorateur, ?
    JP si jamais j'ai du m'absenter de mon poste, en ce moment je te reponds en utilisant une connexion 3G parce que je suis dehors

  6. #26
    Membre à l'essai
    Homme Profil pro
    On a pas fini d'apprendre
    Inscrit en
    Mars 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : On a pas fini d'apprendre
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 43
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    bon finalement j'ai vu qu'il faut certainement mettre des guillemets en WD15 :
    avec la syntaxe <Nom de l'objet> est "<Nom de la classe>".
    En WD16 on peut ne plus mettre les guillemets :
    donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     monscriptNode est un "OpenNI.ScriptNode" dynamique
     
    moncontexte est un "OpenNI.Context" dynamique
    monDepthgenerator est un "OpenNI.DepthGenerator" dynamique
     
    moncontexte =  OpenNI.Context.CreateFromXmlFile("Data/SamplesConfig.xml",monscriptNode)
     
    monDepthgenerator = moncontexte:FindExistingNode(OpenNI.NodeType.Depth)
    ahhhh c'est génial JP merci beaucoup vraiment tu m'as sauver la mise, reste jute unr question et apres je vais pouvoir voler par mes propres ails: comme tu as vu dans le code du sample fournit avec le SDK "sampleread.net" le programme affiche dans une fenetre terminal dos (fenetre de fond noir) les valeurs depth du point mileux d'image recoltée par le capteur, je n'pas le code en face de moi mais c la ligne ou il y a le printf(....Xref/2,Yref/2) , comment dupliquer ces information sous windev (je ne pense pas avec la fonction "info" parce que cette fonction me sort une simple fenetre pour chaque nouvelle valeur du printf?

  7. #27
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 951
    Points : 9 280
    Points
    9 280
    Par défaut
    tu utilises la fonction trace qui est une fenêtre à fond jaune qui sert au debug
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  8. #28
    Membre à l'essai
    Homme Profil pro
    On a pas fini d'apprendre
    Inscrit en
    Mars 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : On a pas fini d'apprendre
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 43
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    tu utilises la fonction trace qui est une fenêtre à fond jaune qui sert au debug
    donc si je comprends bien l'équivalent de printf("%d",parametre); dans le langage C est équivalent à trace(parametre) en WLangage?

    j'ai appris beaucoup de choses avec toi JP aujourd'hui vraiment je ne fini pas à te remercier mon ami

  9. #29
    Membre à l'essai
    Homme Profil pro
    On a pas fini d'apprendre
    Inscrit en
    Mars 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : On a pas fini d'apprendre
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 43
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    bon finalement j'ai vu qu'il faut certainement mettre des guillemets en WD15 :
    avec la syntaxe <Nom de l'objet> est "<Nom de la classe>".
    En WD16 on peut ne plus mettre les guillemets :
    donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     monscriptNode est un "OpenNI.ScriptNode" dynamique
     
    moncontexte est un "OpenNI.Context" dynamique
    monDepthgenerator est un "OpenNI.DepthGenerator" dynamique
     
    moncontexte =  OpenNI.Context.CreateFromXmlFile("Data/SamplesConfig.xml",monscriptNode)
     
    monDepthgenerator = moncontexte:FindExistingNode(OpenNI.NodeType.Depth)
    j'ai encore eu l'erreur sur les deux dernières lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    moncontexte =  OpenNI.Context.CreateFromXmlFile("Data/SamplesConfig.xml",monscriptNode)
     
    monDepthgenerator = moncontexte:FindExistingNode(OpenNI.NodeType.Depth)
    erreur : "OpenNi" inconnu ou inaccessible .

    jke suis désolé JP je t'ai trop dérangé là

  10. #30
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 951
    Points : 9 280
    Points
    9 280
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    moncontexte =  "OpenNI.Context"::CreateFromXmlFile("Data/SamplesConfig.xml",monscriptNode)
     
    monDepthgenerator = moncontexte:FindExistingNode("OpenNI.NodeType".Depth)
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  11. #31
    Membre à l'essai
    Homme Profil pro
    On a pas fini d'apprendre
    Inscrit en
    Mars 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : On a pas fini d'apprendre
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 43
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    moncontexte =  "OpenNI.Context"::CreateFromXmlFile("Data/SamplesConfig.xml",monscriptNode)
     
    monDepthgenerator = moncontexte:FindExistingNode("OpenNI.NodeType".Depth)
    Ah oui là ca marche mais par contre je ne pige rien, parce que avec les "::" ou le ":" et une fois on doit mettre les "" et d'autres pas. j'avoue que je vais morflé ce soir.
    peux-tu stp juste me faire la traduction du code sampleread.net en entier comme ça j'aurais un code qui marche et par la suite je me base dessus pour avancer, vraiment tu me sauve comme ça.
    merci d'avance

  12. #32
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 951
    Points : 9 280
    Points
    9 280
    Par défaut
    les " " c'est quand tu utilises des classes dotnet.

    les :
    Appeler un membre appartenant à un objet différent de l'objet en cours

    <Nom Objet> : <Nom Membre>


    Appeler un membre de classe générale

    <Nom de la classe> :: <Nom Membre>

    et maintenant à toi te te débrouiller je suis plus là
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  13. #33
    Membre à l'essai
    Homme Profil pro
    On a pas fini d'apprendre
    Inscrit en
    Mars 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : On a pas fini d'apprendre
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 43
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    les " " c'est quand tu utilises des classes dotnet.

    les :
    Appeler un membre appartenant à un objet différent de l'objet en cours

    <Nom Objet> : <Nom Membre>


    Appeler un membre de classe générale

    <Nom de la classe> :: <Nom Membre>

    et maintenant à toi te te débrouiller je suis plus là
    JP jute une dernière question stp, est ce que tu sais ou je dois mettre le dossier Data qui contient le fichier XML?
    à la compilation de l'application il me dit qu'il y a une erreur dans la ligne :
    moncontexte = "OpenNI.Context"::CreateFromXmlFile("Data/SamplesConfig.xml",monscriptNode)

    j'ai essayé de mettre le dossier partout meme dans le dossier racine de windev (d'ailleur meme le fichier OpenNI.net.dll parce que windev m'a sorti avant une autre erreur mais le fait de mettre ce fichier dans le dossier racine de windev ca résolu l'erreur)
    merci

    Merci infiniment JP, c'est trop gentil de ta part mon grand, bonne soirée

  14. #34
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 951
    Points : 9 280
    Points
    9 280
    Par défaut
    Bonjour,

    Mauvaise nouvelle
    j'ai l'impression que l'on ne va pas pouvoir utiliser dotnet . Mais comme je ne suis pas expert en dotnet il y a peut être espoir. Voici le problème :
    Finalement je suis arrivé à ce code pour le début du simpleRead :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    monscriptNode est un "OpenNI.ScriptNode" dynamique
    moncontexte est un "OpenNI.Context" dynamique
    monDepthgenerator est un "OpenNI.DepthGenerator" dynamique
    // la config est mise dans "mes documents" 
    ConfigExemple est une chaîne = ComplèteRep(SysRep(srMesDocuments))+"SamplesConfig.xml"
    QUAND EXCEPTION DANS
    moncontexte =  "OpenNI.Context"::CreateFromXmlFile(ConfigExemple,monscriptNode)
    monDepthgenerator = moncontexte:FindExistingNode("OpenNI.NodeType".Depth)
    FAIRE
    Erreur(ExceptionInfo())
    FIN
    Quand j'exécute ce code j'ai une exception mais pas d'infos sur l'exception.
    Si je met un fichier de config qui n'existe pas toujours pas d'infos sur l'exception. Par contre si je fais cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    moncontexte =  "OpenNI.Context"::CreateFromXmlFile(ConfigExemple,null)
    j'ai si je met un mauvais nom pour le fichier de config :
    OpenNI.StatusException: File not found!
    et avec le bon nom :
    OpenNI.GeneralException: One or more of the following nodes could not be enumerated:<\n><\n>Device: PrimeSense/SensorV2/5.0.2.3: The device is not connected!
    ce qui semble normal puisque je n'ai pas de capteur.

    alors les questions :
    1 - Si je met le paramètre à null ne vais-je pas avoir plus tard un plantage du programme ?
    2 -Le problème quand je passe le paramètre monscriptNode (au lieu de null) n'est-t-il pas dû à cette limitation de windev avec dotnet :
    Le passage de paramètres de type pointeur entre le WLangage et .NET n'est pas géré.
    monScriptNode est une classe . Son passage en paramètre est-il vu comme un pointeur ?


    Ami calmant, J.P ;-)
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  15. #35
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 951
    Points : 9 280
    Points
    9 280
    Par défaut
    bon sinon pour en revenir au c :

    il faut que tu définisses une ou plusieurs fonctions d'interface avec windev qui seront exportées dans une dll. Pour cela il faut que tu compiles ton programme C en dll. Si tu nous fournis les paramètres à passer et le type de valeur retournée par les fonctions on pourra peut être t'aider. En espérant qu'il n'y ai pas de paramètres de type compliqué.

    Ami calmant, J.P ;-)
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  16. #36
    Membre à l'essai
    Homme Profil pro
    On a pas fini d'apprendre
    Inscrit en
    Mars 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : On a pas fini d'apprendre
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 43
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    Bonjour,

    Mauvaise nouvelle
    j'ai l'impression que l'on ne va pas pouvoir utiliser dotnet . Mais comme je ne suis pas expert en dotnet il y a peut être espoir. Voici le problème :
    Finalement je suis arrivé à ce code pour le début du simpleRead :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    monscriptNode est un "OpenNI.ScriptNode" dynamique
    moncontexte est un "OpenNI.Context" dynamique
    monDepthgenerator est un "OpenNI.DepthGenerator" dynamique
    // la config est mise dans "mes documents" 
    ConfigExemple est une chaîne = ComplèteRep(SysRep(srMesDocuments))+"SamplesConfig.xml"
    QUAND EXCEPTION DANS
    moncontexte =  "OpenNI.Context"::CreateFromXmlFile(ConfigExemple,monscriptNode)
    monDepthgenerator = moncontexte:FindExistingNode("OpenNI.NodeType".Depth)
    FAIRE
    Erreur(ExceptionInfo())
    FIN
    Quand j'exécute ce code j'ai une exception mais pas d'infos sur l'exception.
    Si je met un fichier de config qui n'existe pas toujours pas d'infos sur l'exception. Par contre si je fais cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    moncontexte =  "OpenNI.Context"::CreateFromXmlFile(ConfigExemple,null)
    j'ai si je met un mauvais nom pour le fichier de config :


    et avec le bon nom :


    ce qui semble normal puisque je n'ai pas de capteur.

    alors les questions :
    1 - Si je met le paramètre à null ne vais-je pas avoir plus tard un plantage du programme ?
    2 -Le problème quand je passe le paramètre monscriptNode (au lieu de null) n'est-t-il pas dû à cette limitation de windev avec dotnet :

    monScriptNode est une classe . Son passage en paramètre est-il vu comme un pointeur ?


    Ami calmant, J.P ;-)
    Bonjour JP,
    j'ai passé toute la nuit à lire l'autre code du sample c à d SampleViewer.net, danbs celui là ils n'utilise pas la configuration par un fichier XML, est ce que tu pense que c'est possible de contourner ce problème on faisant une configuration directement dans le code?
    Pour ton code j'ai eu toujours le même problème, mais quand je remerts les deux lignes :
    MonContext = ... et MonDepthGenerator = ...je reçois le message d'erreur :
    Erreur à la ligne 83 du traitement Déclarations globales de FEN_Fenêtre1.

    La ligne 83 :
    [code]
    Moncontext = "OpenNI.Context"::CreateFromXMLFile("Data/SamplesConfig.xml",MonscriptNode)
    c à d qu'il y a eu exception

  17. #37
    Membre à l'essai
    Homme Profil pro
    On a pas fini d'apprendre
    Inscrit en
    Mars 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : On a pas fini d'apprendre
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 43
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    bon sinon pour en revenir au c :

    il faut que tu définisses une ou plusieurs fonctions d'interface avec windev qui seront exportées dans une dll. Pour cela il faut que tu compiles ton programme C en dll. Si tu nous fournis les paramètres à passer et le type de valeur retournée par les fonctions on pourra peut être t'aider. En espérant qu'il n'y ai pas de paramètres de type compliqué.

    Ami calmant, J.P ;-)
    JP je pense que ça marché!!!!
    en tout cas avec ce code , je remarque que le capteur s'allume mais par contre il me donne des valeurs null, probablement j'ai mal convertis ces deux lignes C#:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MapOutputMode mapMode = depth.MapOutputMode;
    DepthMetaData depthMD = new DepthMetaData();
    voici ce que j'ai rajouté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    MaValeur est un réel	
    monscriptNode est un "OpenNI.ScriptNode" dynamique
    moncontexte est un "OpenNI.Context" dynamique
    monDepthgenerator est un "OpenNI.DepthGenerator" dynamique
    gpclMonmapMode est un "OpenNI.MapOutputMode" dynamique
    gpclMondepthMD est un "OpenNI.DepthMetaData" dynamique
     
    // la config est mise dans "mes documents" 
    ConfigExemple est une chaîne = ComplèteRep(SysRep(srMesDocuments))+"SamplesConfig.xml"
    QUAND EXCEPTION DANS
    	moncontexte =  "OpenNI.Context"::CreateFromXmlFile(ConfigExemple,Null)
    	monDepthgenerator = moncontexte:FindExistingNode("OpenNI.NodeType".Depth)
    FAIRE
    	Erreur(ExceptionInfo())
    FIN
    //monDepthgenerator = moncontexte:FindExistingNode("OpenNI.NodeType".Depth)
    gpclMonmapMode = monDepthgenerator:MapOutputMode
    	BOUCLE (100)	
    		gpclMondepthMD = new DepthMetaData()	
    		moncontexte.WaitOneUpdateAll(monDepthgenerator)
    		MaValeur = gpclMondepthMD.FPS	
    		Trace (MaValeur)
    	FIN

  18. #38
    Membre à l'essai
    Homme Profil pro
    On a pas fini d'apprendre
    Inscrit en
    Mars 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : On a pas fini d'apprendre
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 43
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    bon sinon pour en revenir au c :

    il faut que tu définisses une ou plusieurs fonctions d'interface avec windev qui seront exportées dans une dll. Pour cela il faut que tu compiles ton programme C en dll. Si tu nous fournis les paramètres à passer et le type de valeur retournée par les fonctions on pourra peut être t'aider. En espérant qu'il n'y ai pas de paramètres de type compliqué.

    Ami calmant, J.P ;-)
    Avec le programme C, je suis parti du Sample NiViewer et je récupères les valeurs depth des 100 première lignes de l'image Depth.
    Je palace le capteur en face du sol par exemple (parfaitement en face, de telle manière que tous les pixels de l'image depth ont la même valeur de profondeur par rapport au capteur) et au moment que je mets un objet dans le champ de vision du capteur (en approchant l'objet par le coté de la ligne 0 de l'image) je dois définir l’existence de l'objet, sa taille (longeurMax, largeurMax, et hautewurMax) et sa position X,Y et Z par rapport au capteur (coordonnées du capteur sont (0,0,0) ).
    Donc les paramètres que je dois fournir à l'application windev sont que des valeurs réelles.

  19. #39
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 951
    Points : 9 280
    Points
    9 280
    Par défaut
    si tu as mis en commentaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //monDepthgenerator = moncontexte:FindExistingNode("OpenNI.NodeType".Depth)
    ça va pas être terrible pour la suite
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  20. #40
    Membre à l'essai
    Homme Profil pro
    On a pas fini d'apprendre
    Inscrit en
    Mars 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : On a pas fini d'apprendre
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 43
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    si tu as mis en commentaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //monDepthgenerator = moncontexte:FindExistingNode("OpenNI.NodeType".Depth)
    ça va pas être terrible pour la suite
    tu as raison mais je ne pense pas que c ça, vu que avec ce cade:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    MaValeur est un réel	
    monscriptNode est un "OpenNI.ScriptNode" dynamique
    moncontexte est un "OpenNI.Context" dynamique
    monDepthgenerator est un "OpenNI.DepthGenerator" dynamique
    gpclMonmapMode est un "OpenNI.MapOutputMode" dynamique
    gpclMondepthMD est un "OpenNI.DepthGenerator" dynamique
     
    // la config est mise dans "mes documents" 
    ConfigExemple est une chaîne = ComplèteRep(SysRep(srMesDocuments))+"SamplesConfig.xml"
    QUAND EXCEPTION DANS
    	moncontexte =  "OpenNI.Context"::CreateFromXmlFile(ConfigExemple,Null)
    	monDepthgenerator = moncontexte:FindExistingNode("OpenNI.NodeType".Depth)
    FAIRE
    	Erreur(ExceptionInfo())
    FIN
     
    moncontexte =  "OpenNI.Context"::CreateFromXmlFile(ConfigExemple,Null)
    monDepthgenerator = moncontexte:FindExistingNode("OpenNI.NodeType".Depth)
    gpclMonmapMode = monDepthgenerator:MapOutputMode
    i est un entier
    i = 0
    	BOUCLE 
    		i ++
    	    Trace(i)
    		gpclMondepthMD = new DepthMetaData()
    		moncontexte.WaitOneUpdateAll(monDepthgenerator)
    		MaValeur = gpclMondepthMD.FrameID	
    		Trace (MaValeur)
    	SI i > 100  ALORS SORTIR
     
    	FIN
    j'ai l'affichage de la fenêtre Trace mais les valeurs de FrameID sont à 0 , par contre le laser IR du capteur s'allume ce qui veut dire qu'il y a communication mais je pense que le problème vient de cette ligne " gpclMondepthMD = new DepthMetaData()" peut être je n'ai pas bien traduit le code C# . est ce que tu pense aussi que de celà vient le problème?

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/06/2011, 18h55
  2. Réponses: 4
    Dernier message: 27/05/2009, 16h00
  3. Réponses: 3
    Dernier message: 02/06/2008, 16h13
  4. Réponses: 2
    Dernier message: 11/07/2007, 23h24
  5. Réponses: 1
    Dernier message: 26/03/2007, 12h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo