LabVIEWForum.de
C# MAPI .NET WRAPPER DLL und Lotus Notes - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: DLL & externer Code (/Forum-DLL-externer-Code)
+---- Thema: C# MAPI .NET WRAPPER DLL und Lotus Notes (/Thread-C-MAPI-NET-WRAPPER-DLL-und-Lotus-Notes)



C# MAPI .NET WRAPPER DLL und Lotus Notes - Totte - 16.12.2011 01:08

Hallo,

ich beiße mir schon seit Tagen die Zähne an einem merkwürdigen Problem aus.

Labview soll den Standard eMail-Client öffnen und ein Mail-Fenster mit Adresse, Betreff, Text und Anlage erzeugen. Hierzu habe ich in C# eine Wrapper-DLL für die MAPI32.DLL geschrieben. Die Wrapper-DLL wird über .NET bereitgestellt. Mit den .Net Nodes wird meine Wrapper-DLL dann aufgerufen und gefüllt. Ich kann auf diese Weise eMails für (fast) alle eMail-Clients erzeugen. Komischer Weise klappt das nicht mit Lotus Notes und Labview. Wenn ich meine Wrapper-DLL aber nicht über Labview, sondern über ein von mir in C# geschriebenes Programm aufrufe, dann klappt es wieder. Natürlich funktioniert es auch, wenn ich aus dem Programm-Code der Wrapper DLL einfach nur eine EXE erzeuge. Ich kann mir dieses Verhalten nicht erklären! Wieso funktioniert der selbe Programm-Code als EXE aber nicht als DLL unter Labview? - Und wieso funktioniert die DLL bei den anderen eMail-Programmen unter Labview? - Und wieso funktioniert die DLL dann auch wieder, wenn sie von C# aus aufgerufen wird?

Lotus Notes zeigt die Fehlermeldung "unable to launch notes client" an. MAPI32.DLL gibt die Fehlermeldung "mapi logon failure" zurück. Testweise habe ich mal Lotus Notes schon vor dem Aufruf der DLL per Hand geöffnet. Dann bekomme ich zwar nicht mehr den "unable to launch notes client" Fehler aber immer noch den "logon" Fehler.

Unser Kunde besteht aber auf die Lotus Notes Unterstützung.

Ich bin Euch für jede Hilfe dankbar.

Viele Grüße,

Totte


RE: C# MAPI .NET WRAPPER DLL und Lotus Notes - rolfk - 16.12.2011 08:27

Das sieht mir nach einem Fall für den Lotus Notes Support aus, so es diesen denn noch gibt. Anscheined verheddert sich der Lotus Notes MAPI Provider irgendwo wenn er durch die .Net MAPI Implementation aus der LabVIEW Entwickelumgebung angesprochen wird. Warum das so ist dürfte ohne intime Kenntnisse der Lotus Notes Implementation ziemlich schwierig herauszufinden sein. Der Vergleich mit einem C# Programm hinkt hier insofern, dass das C# Program immer eine kompilierte App ist, genau gleich wie das LabVIEW Executable das ja auch funktioniert.

Früher hätte NI vielleicht auch noch irgendwie helfen können da sie selber Lotus Notes benützten für die interne Kommunikationsinfrastruktur, aber soviel ich begriffen habe, sind sie davon abgekommen. Lotus Notes rein zu Testzwecken zu installieren ist eine masochistische Übung ersten Grades.


RE: C# MAPI .NET WRAPPER DLL und Lotus Notes - jg - 16.12.2011 08:46

Wahrscheinlich ist es laut deiner Beschreibung nicht das Problem, aber ich will nochmal auf die Inkompatibilitäten von LabVIEW mit einer .NET 4-Assembly hinweisen:
http://www.labviewforum.de/Thread-LV-erkennt-Net-dll-nicht?pid=128427#pid128427

Gruß, Jens


RE: C# MAPI .NET WRAPPER DLL und Lotus Notes - Totte - 16.12.2011 09:15

(16.12.2011 08:46 )jg schrieb:  Wahrscheinlich ist es laut deiner Beschreibung nicht das Problem, aber ich will nochmal auf die Inkompatibilitäten von LabVIEW mit einer .NET 4-Assembly hinweisen:
http://www.labviewforum.de/Thread-LV-erkennt-Net-dll-nicht?pid=128427#pid128427

Gruß, Jens


Ich benutze .NET 3.5 unter Visual Studio 2008 - Das kann es also nicht sein:-(