(16.04.2013 13:22 )potter68 schrieb: Erstmal Danke für die Hinweise.
Aber das passt alles nicht, da ich die DLL selbst erstellt (Visual C++, statisch gelinkt gegen die C-Runtime Lib) und auch ausführlich (mit C++, C# VB, Vista32, Vista 64, Win7 ... , 32/64 Bit) getestet habe.
Und auch alles schön auf dem anderen Computer probiert hast? Die von Dir selber erstellte Visual C Library macht AUCH Gebrauch von minimal der MS C Runtime Library. Die ist default NICHT in der DLL mitkompiliert sondern benützt die DLL Version die in genau der richtigen, sprich selben Version als auf Deinem Entwickelcomputer auf der Zielmaschine installiert sein muss.
Einen anderen Grund warum LabVIEW die Funktion in der DLL nur auf dem Entwickelcomputer finden kann bin ich in meinen unzähligen eigenen DLL Projekten noch nie über den Weg gelaufen.
Wie stellst Du denn sicher dass zum Beispiel die richtige .Net Runtime, oder im Falle von VB die entsprechende VB Runtime auf dem anderen Rechner installiert ist? Wohl nur auf Rechnern getestet wo die VB Entwickelumgebung und all das andere MS Zeugs voll installiert ist? Aber dann erwarten dass die MS VC DLL in LabVIEW auf einem jungfräulichen PC einfach laufen soll? Da muss minimal die VC Redistributable Runtime Installation die mit Deinem VC Entwickelsystem mitkam installiert werden und je nachdem was Deine DLL noch an anderen Dingen tut möglicherweise noch viel mehr!
Wenn Du tatsächlich die statische C Runtime linkst dann auch sicherstellen das nicht doch noch irgendwie ein Manifest aus einem Überbleibsel von einer früheren dynamischen C Runtime übriggeblieben ist. Zudem einmal nachgehen welche Funktionalität du alles ansprichst. Sind es wirklich nur Standard Win32 APIs und C Runtime Funktionen? Ein einziger unglücklicher Import kann das schon alles kompliziert machen.
Ist es Standard C oder C++? Ich programmiere fast nur in Standard C. Ist zwar weniger komfortabel da man vieles noch selber machen muss, aber man hat dann auch eine viel bessere Kontrolle was wirklich getan wird und wieviel vom Compiler/Linker mitgelinkt wird. Bei C++ kann es sehr einfach sein dass ein einziges harmlos aussehendes Makro plötzlich riesige Dependencies nach sich zieht.