' schrieb:Es muss also noch irgendwie die DLL geladen sein... Kann ich das beim erneuten Start vom Programm irgendwie prüfen und "resetten"?
Ich würde sagen, die DLL selbst ist nicht das Problem. Vielmehr ein Handle, den die DLL zum Treiber hin geöffnet hat. Der wird u.U. nicht automatisch gelöscht. Beim erneuten Öffnen ohne vorher "Close Handle" gemacht zu haben, könnte so ein noch gestehender Handle zu einem Fehler "Resource nicht verfügbar" (o.ä.) führen. Beim Beenden der LV-IDE werden - meistens - alle von LV angeforderten Handles durch das Betriebssystem automatisch geschlossen.
Es soll zwar Möglichkeiten geben, zu überprüfen, ob eine DLL bereits geladen ist respektive kann man eine DLL auch erst per Programm laden lassen - aber da kenne ich mich nicht aus.
Es kommt auch sehr auf die DLL an. Wenn die z.B. mit so einem Handle arbeitet, könnte es klappen, indem du einfach den Open weglässt und einen Leseversuch auf die angeschlossene Harware machst.
Ich selbst würde mein Programm aber auf jeden Fall so schreiben, dass egal was der Anwender macht die DLL immer geschlossen wird. Notfalls wird eben Alt-F4 etc. unterbunden. AVs aus Gründen, die der Programmierer nicht zu vertreten hat, sind natürlich ausgeschlossen.