(10.09.2012 11:39 )bautz0815 schrieb: Hallo LV-Gemeinde,
wir haben in der Firma eine dll Bibliothek die in C++ geschrieben wurde und verschiedene Funktionen zur Verfügung stellt. Ich habe ein Tool geschrieben mit der ich die Funktionen der dll-Bibliothek testen kann. Im Laufe der Zeit kommen neue Funktionen dazu. Es wurde jetzt der Wunsch geäußert, dass nur die enthaltenen Funktionen auf dem FP aktiv sind. Die restlichen Funktionen die in der geladenen dll nicht vorhanden sind sollen Deaktiviert und ausgegraut sein.
Soweit zur Vorgeschichte des Projektes und nun zu meinen Fragen.
Ist es möglich alle Funktionen aus der dll auszulesen und in einem Array zu speichern?
Ich habe jetzt einen Versuch gestartet die Funktionsnamen mit einer INI zu laden (für jede dll-Version eine Abschnitt) und in ein Array abgelegt, funktioniert auch ist jedoch ein Wahnsinns Aufwand die einzelnen Unterschiede der dll-Versionen zu filtern und in die INI einzutragen (ca.120Funktionen).
Und noch eine zweite Frage.
Wie kann ich auf dem FP die entsprechenden Elemente Deaktivieren. Diese sind in 3-Registerkartenreiter mit Unterregisterkarten abgelegt. Ich müsste jetzt die einzelnen Arrayelemente mit den FP-Elementen Vergleichen und je nachdem Aktiv oder Inaktiv schalten.
Gibt es dafür eine Möglichkeit diese Elemente anzusprechen oder muss ich für jedes einzeln eine Referenz bilden um dann den Eigenschaftsknoten deaktiviert wählen.
Da leidet auch die Übersicht im BP bei über 100 Funktionen und wenn eine neue dazukommt muss man aufpassen, dass diese auch überall eingetragen ist.
Nun angehängtes VI gibt Dir alle Exports zu einer DLL. Caveats: Kein C source code, sorry and only für 32 Bit Windows. Ich hatte noch keine Zeit eine 64 Bit Version zu kompilieren und sehe dafür auch keine Notwendigkeit auf kurzen Termin.
Zum deactivieren von Controls, Du solltest wohl den entsprechenden Code parametrisieren und eventuel in Stacked Sequenzen aufteilen. Dies ist eine der Ausnamen wo ich Stacked Sequenzen als zulässig erachte.