Python code aus VB.Net starten

Python in C/C++ embedden, C-Module, ctypes, Cython, SWIG, SIP etc sind hier richtig.
Antworten
Alex_141
User
Beiträge: 2
Registriert: Mittwoch 28. März 2018, 13:36

Hallo liebe Forummitglieder,
seid mir bitte nicht allzu böse wenn ich frage. Ich bin noch recht grün hinter den Ohren. Ich kann mittlerweile etwas Python, würde gerne jedoch jetzt aus einem Programm das VB.NET nutzt, eine python GUI starten. Der GUI sollen mehrere Variablen übergeben werden und dort bearbeitet und wieder zurück an das Programm mit VB.NET übergeben werden. Meine Schwierigkeiten (das heißt: ich habe kein Plan wie das geht, also wenn antworten dann biiieeeettttte etwas ausführlicher) habe ich mit dem Starten des Python Codes/Programms und auch die Übergabe der Variablen ist nicht ganz klar. Ich hoffe die Übergabe geht ungefähr so:

VB:

Code: Alles auswählen

...
IrgendEinBefehl(var1,var2,...)
...
Python:

Code: Alles auswählen

import tkinter...
...
class GUI(v1, v2)
...irgendwas passiert hier mit v1 und v2
if  __name__ == '__main__':
	fenster=GUI(var1,var2) 
Ich bitte nochmals reißt mir nicht den Kopf ab und konstruktiv antworten bisschen erklären...
Hatte vorher schon recherchiert: IoI hatte wohl ein ähnliches Problem 2010 hatte es am ende gelöst.... ich habs nur nicht verstanden :(

Liebe Grüße
Alex
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

In Python finden sich Argumente die übergeben wurden in sys.argv. Wie man ein externes Programm von VB aus startet hat mit Python erstmal nix zu tun und sollte sich in der VB Doku oder stack overflow etc finden lassen.
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

@Alex_141: ich versteh nicht ganz, warum Du eine GUI in Python schreiben willst, wo man doch mit VB.NET deutlich schönere GUIs erstellen kann, als mit TkInter. Auf der anderen Seite, was machst Du mit VB.NET was man nicht auch mit Python machen könnte? Zum Dritten, wenn Du .NET mit Python kombinieren willst, solltest Du Dir IronPython anschauen.
Alex_141
User
Beiträge: 2
Registriert: Mittwoch 28. März 2018, 13:36

Vielen dank für eure Antworten.

Muss ich dann in der Doku noch schauen wie ich externe Programme aus VB.NET starte. (( Die Sache ist nur die, dass die Rückgabewerte der GUI in der Anwendung die mit VB.NET arbeitet, gebraucht werden. Das heißt das VB Script müsste auf die Beendigung der GUI und die Übergabe der Werte warten.))

Python benutze ich, weil es schneller geht(soll nur ein kleiner Prototyp werden) und weil ich das einigermaßen kann.
VB.NET muss ich benutzen da die Anwendung die ich benutze darauf basiert.
Ironpython muss ich mir dann noch anschauen.

Liebe Grüße
Alex
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Schau dir mal Pipes an.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Alex_141 hat geschrieben:Python benutze ich, weil es schneller geht(soll nur ein kleiner Prototyp werden) und weil ich das einigermaßen kann.
VB.NET muss ich benutzen da die Anwendung die ich benutze darauf basiert.
Ironpython muss ich mir dann noch anschauen.
Würde ich von abraten. Nimm gleich VB. Alles was du an vermeintlicher Geschwindigkeit gewinnst weil du VB nicht kennst, verlierst du wieder durch die Interprozesskommunikation, die dich offensichtlich auch vor eine Hürde stellt. Da lohnt es sich deutlich mehr, in deine VB Kenntnisse zu investieren.
Antworten