LabVIEWForum.de
Problem mit "Find Callers" Funktion - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Problem mit "Find Callers" Funktion (/Thread-Problem-mit-Find-Callers-Funktion)



Problem mit "Find Callers" Funktion - Lien_Alere - 06.11.2019 11:22

Hallo,

leider habe ich bei meiner Recherche nichts zu meinem Problem im Internet gefunden, deswegen wende ich mich an euch.

LabView bietet die Funktion "Find Callers", welche für die Entwicklung von Programmen sehr nützlich ist, um ggf. auch "Dead Code" zu finden. Jedoch habe ich jetzt das Problem, dass diese Funktion in meinem Fall nicht funktioniert. Ich habe ein Projekt mit verschiedenen LabView Klassen. In einer Klasse ist ein protected VI (A.vi), welches in einem anderen public Klassen VI (B.vi) aufgerufen wird. Wenn ich nun die "Find Callers" Funktion auf A.vi anwende, sagt mir LabView, dass kein Caller gefunden wurde.
Zudem wird das VI A.vi auch bei der Ausführung der Funktion "Find Items with No Callers" mit Rechtsklick auf Projekt im Projektexplorer angezeigt. Somit kann ich überhaupt nicht auf diese Funktion vertrauen.

Meine Vermutung ist, dass diese Funktion nicht Klassenübergreifend funtkioniert. Innerhalb einer Klasse funktioniert diese Funktion.

Könnte mir hier jemand bei dem Problem helfen?

Viele Grüße!


RE: Problem mit "Find Callers" Funktion - joerg.hampel - 09.11.2019 00:01

Verwendest Du Dynamic Dispatch für den Aufruf der Methode? Das würde das Verhalten erklären, die Methode wird ja dynamisch aufgerufen.


RE: Problem mit "Find Callers" Funktion - Lien_Alere - 11.11.2019 14:29

Hallo Joerg,

da hast du recht. Das VI ist ein "dynamic dispatch" VI. Gibt es denn eine alternative VIs in "dynamic dispatch" VIs zu finden? Kann man diese VIs irgendwie alle laden bevor man sucht?

Viele Grüße


RE: Problem mit "Find Callers" Funktion - joerg.hampel - 11.11.2019 14:46

Nicht dass ich wüsste, sorry.

Da Dynamic Dispatch erst zur Laufzeit anhand des Objekts entscheidet, welche Methode ausgeführt wird, ist da zur Entwicklungszeit vermutlich wenig zu machen...


RE: Problem mit "Find Callers" Funktion - Lien_Alere - 12.11.2019 09:49

Vielen Dank für deine Hilfe Joerg!!


RE: Problem mit "Find Callers" Funktion - Lien_Alere - 03.12.2019 11:20

Hallo,

falls noch jemand Interesse hat. Hier mal ein VI, um ein Projekt mit dynamischen VIs zu durchsuchen und "VIs without callers" zu ermitteln.
Es hat mir sehr geholfen "Dead Code" VIs anzeigen zu lassen.

Grund: Da ich eine große LabView VI Bibliothek optimieren musste, sind viele VIs unbrauchbar geworden. Ich habe erstmal alles programmiert ohne die alten VIs gleich zu löschen. Dadurch sind natürlich nicht verwendete VIs entstanden. Da die Bibliothek sehr groß war, wäre es sehr aufwendig gewesen alle VIs durchzuschauen. Deswegen ist die "Find VIs without Callers" Funktion auch sehr praktisch, jedoch wie schon oben beschrieben nur für statische VIs zu gebrauchen. Aus diesem Grund habe ich mir meine eigene Funktion geschrieben.

Wenn jemand das VI in einer niederen LV-Version benötigt, einfach anschreiben.

Zusatz: Was ich vergessen habe zu sagen, ich separiere die VIs nochmal. Es werden somit VIs in bestimmten Ordnern ignoriert. Diese Funktion kann entfernt oder angepasst werden.

Viele Grüße