(07.03.2012 17:52 )Tschirno schrieb: Meines Wissens nach geht es nicht mit Labview. Ich hatte es auch mal mit Labview versucht einen Installer automatisiert durchlaufen zu lassen. Ich habe letztendlich dafür AutoIT genommen. Dort kann man Scripten bis der Arzt kommt. Absolut schnell zu erlernen. Es gibt super viele Beispiele. Das kann Bedienelemente auslesen und Tastaturen emulieren. Wunderbar von Labview aus ansteuerbar über Commandline Argumente. Vielleicht ist ja das für dich. Labview kann nunmal nicht alles.
Du kannst mit LabVIEW prinzipiel alles tun was mit anderen Programmiersprachen auch geht, da LabVIEW turingkomplet ist, aber.....
1) Low Level Dinge wie intensive Bitschiebereien wie sie in Kompressions- und Dekompressionsalgorithmen oft verwendet werden sind in C oder Assembler wesentlich effizienter implementierbar. LabVIEW hat zwar alle Tools dazu aber man kann eben nicht so einfach alles optimalisieren wie das in C oder Assembler möglich ist.
2) Systemzugriffe kann LabVIEW nicht alle selber implementieren. Wenn man also etwas benötigt das ausserhalb der Standardfunktionen wie File IO, Netzwerk oder dergleichen liegt, muss man etwas extra Arbeit erledigen. Aber Interfaces wie die Call Library Node oder ActiveX/.Net ermöglichen hier jeglichen gewünschten Zugriffe.
3) Allenfalls ist es sinnvoll für obige Punkte einen Teil in C oder dergleichen als externer Code zu implementieren und dann mittels der Tools in Punkt 2) in LabVIEW einzubinden.
Grundsätzlich wäre es möglich um mittels dieser Tools Funktionen wie sie AutoIt mitbringt direkt in LabVIEW zu integrieren. Aber sinnvoll wäre es eher nicht, da ein Tool wie AutoIt garantiert viele Mannjahre Arbeit gekostet hat um es dahin zu bringen was es heute kann. Aber das Tool macht nichts anderes als durch Aufrufe von Windows APIs die Frontpanels von Standardwindowsapplikationen zu enumerieren und auf dessen Bedienelemente zuzugreifen, da dort jedes Bedienelement wiederum ein eigenes Windows Objekt ist das auf derselben Objektstruktur basiert wie es ein Windows Fenster auch ist. Das schlägt allerdings fatal fehl bei Programmen die mit LabVIEW gemacht wurden, da LabVIEW Kontrols keine Windows Objekte sind sondern eigenständig direkt in LabVIEW implementierte Objekte.
Aber LabVIEW ist da nicht ganz alleinstehend. Dasselbe Problem dürfte beistpielsweise bei vielen Spielen bestehen, die die Bedienelemente auch nicht als Windows Objekte implementieren sondern beispielsweise auf OpenGL oder ähnlichem basierend ihre eigenen Bedienelemente implementieren. Auch Applikationen die mittels Platformabstraktion Toolkits wie wxWidgets oder dergleichen portiert werden dürften solche Einschränkungen kennen.