Bonjour,
Je crois comprendre que R.Net n'est pas très utilisé, et j'ai pas de réponse, du moins pas assez vite, sur le site du programmeur qui à fait la bibliothèque, sachant que je dois trouver des réponses pour pouvoir continuer mon projet, je tente ma chance ici.
J'utilise un projet test pour faire les premiers pas dans le développement de cette partie de mon programme (qui est bien plus gros que ça). Le traitement se base sur un fichier en format .csv qui doit être lu sous R par l'intermédiaire de mon programme. Les traitements sont : tronquer les valeurs, régler l'asymptote haute, enlever un point en particulier ou revenir à la modification précédente pour des courbes qui idéalement ressemble à une sinusoïde (cinétique de croissance bactérienne)
Voilà l'organisation : le constructeur ouvre une instance RDotNet, le destructeur la ferme, entre les deux les traitements :
Le traitement se fait quant à lui part une boucle, à chaque tour de boucle la courbe est affiché et une fenêtre propose les différents traitements possible, si on annonce que la courbe est bonne, on sort de la boucle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Public Sub New() InitializeComponent() Dim envPath = System.Environment.GetEnvironmentVariable("PATH") Dim rBinPath = "C:\Program Files\R\R-3.0.0\bin\i386" System.Environment.SetEnvironmentVariable("PATH", envPath + Path.PathSeparator + rBinPath) REngine.SetDllDirectory("C:\Program Files\R\R-3.0.0\bin\i386") engine = REngine.CreateInstance("RDotNet") engine.EagerEvaluate("library(drc)") End Sub Public Sub close_app() Handles Me.FormClosed engine.Close() End Sub
Maintenant le soucis : C'est irrégulier, le comportement de mon application test est ... bizarre.
1)A l'ouverture de visual basic : débogage : L'application plante sur2)Deuxième débogage juste après : l'application fonctionne et montre la courbe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part engine.EagerEvaluate("library(drc)")
3)Après quelques tours de boucle (2 ou 3 c'est selon), l'application plante sur une requête de modification de la courbe
4)Suite au plantage : l'application plantera sur la même ligne qu'à l'ouverture sauf si j'attend quelques minutes auquel cas elle refonctionne. (retour à l'étape 3)
Je pense qu'il y a deux problèmes distincts : celui de l'étape 1 et 4 : je pense qu'il y a un soucis quant à l'ouverture de la bibliothèque, et une fois planté, je pense que l'instance n'est pas déchargé et bug à cause de cette persistance, qui disparait après plusieurs minutes de repos (???)
Celui de l'étape 3 : Je sais pas du tout pourquoi ça plante ... des requêtes qui ont fonctionné au tour précédent ne fonctionnent plus, je vois pas du tout ....
Pour aider j'ai mon post sur le forum du dév : https://rdotnet.codeplex.com/discuss...41#post1088273
Désolé pour ce pavé ^^', si quelqu'un pouvait m'aider, sa me permetterais d'être payé pour autre chose que rechercher des solutions sur google et trifouiller visualbasic :/
Partager