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

Scilab Discussion :

Problème mise en place Ole (com Scilab<-> Office)


Sujet :

Scilab

  1. #21
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 51
    Points : 15
    Points
    15
    Par défaut
    Je ne suis pas sûr d'avoir compris comment faire en sorte que la modif dans xtgmath.h soit prise en compte. J'ai chargé automation dans VS, ai modifié xtgmath.h à la ligne 208, et n'ai pas pu sauvegardé car protéger en écriture. La petite étoile à côté du nom de xtgmath.h est encore là, indiquant que la modif n'est pas sauvegardée. J'ai relancé la compilation dans scilab et j'obtiens la même chose. En pièce jointe un screen shot.
    Fichiers attachés Fichiers attachés

  2. #22
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Citation Envoyé par Helber Voir le message
    ai modifié xtgmath.h à la ligne 208, et n'ai pas pu sauvegardé car protéger en écriture.
    Avec Windows, clic droit sur le fichier xtgmath.h et décoche la case "Lecture seule" puis "Appliquer" et "Continuer"

    Tu pourras ensuite en modifier le contenu et l'enregistrer.
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #23
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 51
    Points : 15
    Points
    15
    Par défaut
    Alors l'erreur ligne 208 a disparu, mais il en reste pleins liées à "cmath"? Même renvoie dans scilab. Le log est là (impossible de mettre une pièce jointe...).
    Fichiers attachés Fichiers attachés

  4. #24
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Ouvre le fichier cmath et commente le bloc à ligne n°290 :

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //_Check_return_ inline float round(_In_ float _Xx) _NOEXCEPT
    //	{
    //	return (_CSTD roundf(_Xx));
    //	}

    et celui à la ligne n°597:

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //_Check_return_ inline long double round(_In_ long double _Xx) _NOEXCEPT
    //	{
    //	return (_CSTD roundl(_Xx));
    //	}

    Relance cleaner.sce, puis builder.sce et pour finir loader.sce :

    N'oublie de supprimer les commentaires que tu auras mis dans les fichiers xtgmath.h et cmath

    Avec Windows 7 64bits et Visual Studio Community 2015 sur ma machine :
    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
    -->exec('D:\dev\scilab\tests\ole-master\cleaner.sce', -1)
     
    -->exec('D:\dev\scilab\tests\ole-master\builder.sce', -1)
     
     "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe" D:\dev\scilab\tests\ole-master\automation.sln /Build "Release|x64" 
     
         []
    Création des macros...
    -- Création de [automationlib] (Macros) --
    genlib : Traitement du fichier : %VARIANT_e.sci
    genlib : Traitement du fichier : %VARIANT_p.sci
    genlib : Traitement du fichier : %VARIANT_size.sci
    genlib : Traitement du fichier : %ptr_p.sci
    genlib : Traitement du fichier : ole_getOlePath.sci
    genlib : Régénère les noms et les bibliothèques
     
    -->exec('D:\dev\scilab\tests\ole-master\loader.sce', -1)
    Start Automation for Scilab
    	Load gateways
    	Load macros
    Avec le code de substitution dans builder.sce et cleaner.sce :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    appExe = winqueryreg('key', 'HKLM', 'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths')
     
    if or(members(appExe, 'devenv.exe')) then
        exe = 'devenv.exe'
    elseif or(members(appExe, 'WDExpress.exe')) then
        exe = 'WDExpress.exe'
    elseif or(members(appExe, 'WDExpress.exe')) then
        exe = 'VCExpress.exe'
    else
        error('No Microsoft C compiler found')
    end
     
    compilerbin = """" + winqueryreg('HKLM', 'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\' + exe) + """ "
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  5. #25
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 51
    Points : 15
    Points
    15
    Par défaut
    ok ça a l'air d'avoir marché!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ->exec('loader.sce');
    Start Automation for Scilab
    	Load gateways
    	Load macros
     
    -->Excel = ole_actxserver("Excel.Application")
     Excel  =
     
     
     COM.Excel__Application
    Maintenant je peux enlever les commentaires, j'aurais plus besoin de recompiler?
    Merci beaucoup pour l'aide ; maintenant faut que j'apprenne ole!

  6. #26
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Citation Envoyé par Helber Voir le message
    Maintenant je peux enlever les commentaires, j'aurais plus besoin de recompiler?
    Il faut supprimer les commentaires pour remettre Visual Studio en état.

    Tu n'auras (normalement) plus besoin de compiler le module ole
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  7. #27
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 51
    Points : 15
    Points
    15
    Par défaut
    Apparemment je n'ai pas besoin de recompiler, mais je dois exécuter loader.sce : normal?
    Autre question : est-ce qu'il y a quelque part un guide d'utilisation de ole?! Si non, comment s'en sortir? Par similitude avec matlab?

    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
    ->Excel = ole_actxserver("Excel.Application")
                                              !--error 4 
    Variable non définie : ole_actxserver
     
     
    -->exec('loader.sce');
    Start Automation for Scilab
    	Load gateways
    	Load macros
     
    -->Excel = ole_actxserver("Excel.Application")
     Excel  =
     
     
     COM.Excel__Application

  8. #28
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Citation Envoyé par Helber Voir le message
    Apparemment je n'ai pas besoin de recompiler, mais je dois exécuter loader.sce : normal?
    Oui, c'est normale. Si tu veux que le module soit chargé à chaque démarrage de Scilab, il faudra placer l'appel à loader.sce dans le fichier SCIHOME/scilab.ini (voir : startup files)

    Pour le reste, j'ai donné quelques lignes dans cette discussion
    Tu trouveras également des informations dans cette série de tutoriels : Contrôle d'Excel par MATLAB via Automation

    Voir aussi les Cours et tutoriels Scilab et la FAQ Scilab.
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

Discussions similaires

  1. [eXo Portal] Problème mise en place ETag
    Par toutounes dans le forum Portails
    Réponses: 1
    Dernier message: 16/03/2013, 13h02
  2. [PL7-3] Problème mise en place réseau Fipway
    Par Fr33dom dans le forum Automation
    Réponses: 1
    Dernier message: 02/03/2010, 16h29
  3. classe Permission. problème mise en place
    Par storm_2000 dans le forum Sécurité
    Réponses: 0
    Dernier message: 25/09/2008, 22h29
  4. Problème mise en place Apache avec mod_ssl
    Par Le fut dans le forum Apache
    Réponses: 3
    Dernier message: 19/12/2006, 14h04

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