[Users-fr] Lancer une DLL avec Scilab

HEBERT, Christophe christophe.hebert at airbus.com
Jeu 1 Mar 11:05:07 CET 2018


Bonjour et merci de votre réponse,

Je viens de passer près de 2 jours pour essayer de faire fonctionner link avec ma ddl mais à chaque fois je me suis retrouvé avec une erreur et la librairie n'a pas été chargée. 
Je joins la dll et un fichier associé (je n'ai pas vraiment compris à quoi sert ce fichier associé ... ???) 

Si qq'un peut m'aider ... ???

Merci par avance de votre aide

Ch HEBERT


-----Message d'origine-----
De : users-fr [mailto:users-fr-bounces at lists.scilab.org] De la part de David Chèze
Envoyé : mardi 27 février 2018 16:24
À : users-fr at lists.scilab.org
Objet : Re: [Users-fr] Lancer une DLL avec Scilab

Bonjour,

j'utilise souvent link (pour charger la dll) et ulink (pour décharger), avec une fonction d'interface pour utiliser facilement les fonctions exportées de la dll une fois chargée.
Par exemple, pour la librairie de propriétés physiques fluides,  dispo sur coolprop.org

//pour charger coolprop
function chargecoolprop()
           
link("C:\Users\dc\prog\CoolProp5.1.2\CoolProp.dll",['propssi_','hapropssi_'],
'c');
endfunction
//-----------------------------------------------------------------------------

//wrapper pour les fonctions coolprop
function [out]=Props(Output,Input1,Value1,Input2,Value2,Name)
    out =
call("propssi_",Output,1,"c",Input1,2,"c",Value1,3,"d",Input2,4,"c",Value2,5,"d",Name,6,"c","out",[1,1],7,"d");
endfunction
function [out]=HAProps(Output,Input1,Value1,Input2,Value2,Input3,Value3)
  out =
call("hapropssi_",Output,1,"c",Input1,2,"c",Value1,3,"d",Input2,4,"c",Value2,5,"d",Input3,6,"c",Value3,7,"d","out",[1,1],8,"d");
endfunction
//-----------------------------------------------------------------------------

//exemple utilisation:
                h_econd(i)=
Props("H","P",SOL2.Pecond(i)*1E5,"T",SOL2.Tecond(i)+273.15,"R134A");// J/kg
                Teq_scond(i)=
Props("T","P",SOL2.Pscond(i)*1E5,"Q",0,"R134A")-273.15;    // °C
                h_scond(i)=
Props("H","P",SOL2.Pscond(i)*1E5,"T",Teq_scond(i)-1E-3+273.15,"R134A");//
J/kg

En espérant que cela aide,

David




--
Sent from: http://mailinglists.scilab.org/Liste-utilisateur-en-francais-f3344097.html
_______________________________________________
users-fr mailing list
users-fr at lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users-fr
The information in this e-mail is confidential. The contents may not be disclosed or used by anyone other than the addressee. Access to this e-mail by anyone else is unauthorised.
If you are not the intended recipient, please notify Airbus immediately and delete this e-mail.
Airbus cannot accept any responsibility for the accuracy or completeness of this e-mail as it has been sent over public networks. If you have any concerns over the content of this message or its Accuracy or Integrity, please contact Airbus immediately.
All outgoing e-mails from Airbus are checked using regularly updated virus scanning software but you should take whatever measures you deem to be appropriate to ensure that this message and any attachments are virus free.
-------------- section suivante --------------
Un texte encapsulé et encodé dans un jeu de caractères inconnu a été nettoyé...
Nom : nilibddc_m.h
URL : <https://lists.scilab.org/pipermail/users-fr/attachments/20180301/4a44aaa2/attachment.h>
-------------- section suivante --------------
Un texte encapsulé et encodé dans un jeu de caractères inconnu a été nettoyé...
Nom : A_POLICY_VIOLATED_FILE_WAS_DETECTED_AND_REMOVED.TXT
URL : <https://lists.scilab.org/pipermail/users-fr/attachments/20180301/4a44aaa2/attachment.ksh>


Plus d'informations sur la liste de diffusion users-fr