Danke für den Code!
Zu den Änderungen:
nodave.c enthält keine. Das ist sehr gut

log.h: Wenn es darum geht, die
#define __filename
einheitlich zu gestalten, kein Problem.
nodave.h:
Das
#define BCCWIN
#define DOEXPORT
gehört nicht in die Header Datei. Es ist ja gerade dafür da, daß dieselbe header-Datei unter verschiedenen Bedingungen verschieden behandelt wird.
Wenn du es unbedingt zum Bestandteil von Code machen möchtest, statt es als conditional defines irgendwo im Projekt file, Makefile oder im Copiler Options Dialog zu setzen, ist die richtige Art:
datei meincode.c:
#define BCCWIN
#define DOEXPORT
#include "nodave.h"
Die Kommentare hinter den #endifs gehen natürlich in Ordnung.
Die Einrückungen der #include-Anweisungen (mittels tabs?) machen den Code zwar lesbarer, aber ich bin nicht sicher, ob jeder C-Compiler das frißt...
Aber ich glaube, auch VS kann mit der etwas weniger lesbaren Version leben.
Das Schwierigste: Ich habe weder VS noch LabView zur Verfügung. Mir ist nicht klar, was man Dritten zur Verfügung stellen muß danit sie:
1. das vorkompilierte LabView-Modul nutzen können.
2. Im Sinne von open source dieses selbst erstellen können. Die speziellen LabView-header dürfte ich wahrscheinlich nicht in die Distribution aufnehmen, da NI die Rechte hat.
Andererseits reicht einem LabView-Anwender ja der hinweis, wo er sie hinzupacken hat.
Noch eine Frage, weil ich Labview nicht kenne. Habe immer nur die Bilder gesehen, bei denen mit grafischen Symbolen Datenfluß-orientiert "programmiert" wird: Wie kann in LabView eine unterbrochene Verbindung wiederaufgebaut werden?
Z.B. nach Ziehen des MPI.-Adapters?
Damit die Diskussion hier im Forum nicht den Rahmen sprengt und wir leichter Dateien austauschen können, wäre es vielleicht gut, wenn du meine normale Mailadresse (auf der libnodave-Seite angegeben) benutzt.