[VB.NET][VB2010] Comment faire communiqué un programme VB avec un script LUA ?

lolo3670 - 4 janv. 2013 à 16:31
 lolo3670 - 14 févr. 2013 à 18:09
Bonjour,

Je voudrais savoir comment faire communiqué un programme lua avec un programme vb.
Ce qui m'intéresserait le plus c'est de savoir faire passer des variables de l'un à l'autre.
J'ai déjà fait des recherches sans succès
Merci pour les ames charitables qui ont la solution et qui souhaiterait me répondre.

Ps : Je suis désolé pour les fautes d'orthographe.

18 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
4 janv. 2013 à 16:39
Bonjour,
La réponse me parait évidente : en automation si LUA supporte l'automation, sinon : tintin !


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
4 janv. 2013 à 16:56
Si maintenant LUA ne supportait pas l'automation, mais que tu étais l'auteur du source utilisé, tu as toujours la ressource de passer par un fichier texte "tremplin" (dans lequel tu écrirais depuis LUA et que tu lirais depuis VB).


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
4 janv. 2013 à 17:15
ceci étant dit : je me demande, si tu es l'auteur de ce script LUA, ce qu'il pourrait contenir que tu ne puisses écrire en VB !


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
En fait , je souhaiterai utiliser un plugins écris en lua (pour un jeu que je n'ai pas fait) et récupérer certaine donnée de ces scripts que je ne peux pas utiliser en vb.

J'ai eu quelques petites idées :
[list]
[*] Utiliser une dll en C qui permet d'utiliser les script lua (on peut en C)
[*] Trouver le moyen d'utiliser des socket en lua
/list

PS : je en crois pas que les script LUA puisse uriliser l'automation (je sais meme pas ce que c'est car je suis plutôt en VB.NET)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
C'est surtout récupérer le conteu de certaine variables qui m'intéresse (c'est marqué en haut)
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 janv. 2013 à 13:37
je sais meme pas ce que c'est car je suis plutôt en VB.NET

Je ne vois pas le rapport entre développer en VB.Net et savoir ce qu'est l'automation !
C'est surtout récupérer le conteu de certaine variables qui m'intéresse (c'est marqué en haut)

On l'a bien compris déjà ! Et je t'ai déjà répondu en ce qui concerne ce point
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 janv. 2013 à 15:30
Je ne pensais pas devoir finir par exposer ce qu'est un logiciel supportant l'automation Microsoft.
Mais bon ..
Si si LUA supporte cette automation Microsoft, il t'est possible de le piloter depuis VB.Net en création, lecture et écriture.
Le pilotage induit la possibilité de déclarer LUA et ses objets en objets et de travailler sur ces objets.
Il te sera impossible d'utiliser un tel pilotage si ton LUA ne supporte pas l'automation.
Est-ce maintenant plus clair ?


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Pour l'instant, j'ai trouvé le moyen de faire communiquer le script lua en utilisant un fichier txt qui est changé par le script, puis le programme vb.net va lire le fichier.

Mais j'ai compris le concept de l'automation. Sauf que je ne sais pas comment sa marche.

PAr contre si tu connaisle lien vers un tuto sur l'automation (en vb si possible)sinon je vais utiliser un fichier qui servira de passerelle entre lua et vb.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
8 janv. 2013 à 18:39
Mais j'ai compris le concept de l'automation. Sauf que je ne sais pas comment sa marche.
PAr contre si tu connais le lien vers un tuto sur l'automation (en vb si possible)sinon je vais utiliser un fichier qui servira de passerelle entre lua et vb

en rouge :
Ta solution est celle que je t'avais indiquée le
vendredi 4 janvier 2013 à 16:56:27
en vert :
rappel de ce que je t'ai dit plus haut également :
en automation si LUA supporte l'automation, sinon : tintin
!

Un "tuto" ne servirait à rien si l'automation n'est pas prévue par LUA !
L'est-elle ?
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
8 janv. 2013 à 18:45
Et je vois que je te l'avais également exposé une seconde fois :
Si LUA supporte cette automation Microsoft, il t'est possible de le piloter depuis VB.Net en création, lecture et écriture.
Le pilotage induit la possibilité de déclarer LUA et ses objets en objets et de travailler sur ces objets.
Il te sera impossible d'utiliser un tel pilotage si ton LUA ne supporte pas l'automation.
Est-ce maintenant plus clair ?

J'appelle enfin à nouveau ton attention sur ce qui me parait plus clair encore :
ceci étant dit : je me demande, si tu es l'auteur de ce script LUA, ce qu'il pourrait contenir que tu ne puisses écrire en VB !

Cette dernière solution me parait la plus sage !


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
En fait, c'est moi qui fait le script lua mais pas sur mon programme.
Mais pour savoir si lua supporte l'automation (je crois que oui), il faut que j'essaye et donc j'aurai besoin si possible d'essayer (il me faudrait donc un tuto, en attendant je cherche moi-meme )
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
9 janv. 2013 à 10:26
1) Un tuto pour piloter une appli supportant l'automation ?
Le principe est toujours le même : déclarer un objet correspondant à cette appli (encore faut-il en connaître le nom en automation !) puis travailler avec cet objet. Tu as mille et un exemples !
En voici un, au hasard (pilotage de Excel):
Tapez le texte de l'url ici.
2)
En fait, c'est moi qui fait le script lua mais pas sur mon programme

j'insiste donc : qu'est-ce qui t'empêche d'oublier ce script et d'écrire toi-même, dans ton appli VB.Net, les instructions équivalentes ? Je serais assez étonné de ce que LUA sache faire ce que tu ne saurais écrire en VB.Net.
Voilà. Moi, j'ai fini ici. Bonne chance.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Le programme qui supporte le plugins n'est pas en vb.net et c'est un jeu d'ordi(mais ce n'est pas moi qui l'ait fait).

Ce qui m'interresse dans le plugins c'est de récupérer des données données grace à l'api plugins du jeu (du style savoir si le perso et en combat etc ...).

Je vais voir si il est possible d'accéder à l'api plugins du jeu via l'atomation.

Je pense que le pourrais supporter l'automation.

Ceci étant aurait-tu une solution pour trouver le nom de l'objet api du jeu en automation ?

pS: le jeu c'est 'le seigneur des anneaux online' ou "SdAO" pour certaints et "LoTRO" pour d'autres
0
En tout cas, j'ai compris le concept de l'automation mais je sais pas comment sa mrche
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
9 janv. 2013 à 13:05
Ceci étant aurait-tu une solution pour trouver le nom de l'objet api du jeu en automation ?

Rhooooooooooooo !
Et rien de plus !


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
j'ai compris il suffit de demandé un objet appartenant à ce programme.

ex: dans l'api plugins du programme il y a une classe qui s'appelle Turbine.Gameplay grâce à l'automation j peux y accéder sauf que je n'arrive pas à trouver le chemin qui permet d'y aller
Ce que je te demandai c'est si il y avait un classe où il a tout les objet de l'automation ou où se trouve l'endroit avec les objets que je cherche.

Je sais que c'est peut-etre confus
0
hichamomari2013
13 janv. 2013 à 23:59
j'ai un probleme au niveau du meme sujet, c'est que j'arrive pas à lire les items de l'OPC SYCON, l'execution me return une exception Hresult.
voila le code que j'ai fais

Imports OPCAutomation
Public Class Form1
Public OPCServerInterface As OPCServer
Dim WithEvents MyGroup As OPCGroup
Dim ItemCollection As OPCItems
Dim ServerHandles(500) As VariantType
Dim item As OPCItem
Public ThisOPCServer As OPCServer
'Private mNode As Node ' Module-level Node variable.
'Private mItem As ListItem ' Module-level ListItem variable.
Private EventFlag As Integer ' To signal which event has occurred.
Private MyHandles(100) As Long
Dim RequestedDataTypes As Object
Dim AccessPaths As Object
Private Sub MyGroup_DataChange(ByVal TransactionID As Long, ByVal NumItems As Long, ByVal ClientHandles() As Long, ByVal ItemValues() As Object, ByVal Qualities() As Long, ByVal TimeStamps() As Date)

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

End Sub

Private Sub TestOPC_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TestOPC.Click
Dim OpcServer As New OPCServer
Dim OpcGroup As OPCGroup
Dim OpcItem As OPCItem
Dim OPCItemIDs(1500) As OPCItem
Dim vItem As String = ""

Try
'connexion au serveur opc sycon
OpcServer.Connect("HilscherGmbH.CifOpcServer.1")

' Add this group to the shared topic
OpcGroup = OpcServer.OPCGroups.Add("Bascule_Data")
OpcGroup.IsSubscribed = False
OpcGroup.IsActive = False
OpcGroup.UpdateRate = 250

OpcGroup.OPCItems.DefaultAccessPath = "OPC_Tags"

OpcGroup.OPCItems.AddItem("B0_PDS", 0)




OPCItemIDs(0) = OpcGroup.OPCItems.Item(0)


OPCItemIDs(0).Read(1)
Next
OpcItem = Nothing
OpcServer.OPCGroups.RemoveAll()
OpcGroup = Nothing
OpcServer.Disconnect()
OpcServer = Nothing


'This line builds a string like “B01_PDS” - a valid item name for the OPC server we are using

'ClientHandles(i + 1) = i ' Sets a reference pointer number for this point
Catch ex As PlatformNotSupportedException
MsgBox("Error In Get Plc Data: " & ex.Message)
End Try
End Sub
End Class




Est ce que j'ai besoin d'autre reference à ajouter ou il y a d'autre chose à faire
0
Bonjour,

Je suis désolé pour cette très longue période de silence.

J'aimerai savoir, où est-ce que tu à appris à utiliser l'automation hichamomari2013 ?

Merci d'avance pour la réponse
0
Rejoignez-nous