Hallo zusammen,
gibt es eine möglichkeit eigene C \ C++ \ C# \ .Net Libraries in Lotus Scirpt zu nutzen?
Wenn ja habt ihr vielleicht einen kurzen hinweis wie oder wo ich eine Anleitung finde?
vielen Dank im voraus.
MfG Stefan
Hallo zusammen,
gibt es eine möglichkeit eigene C \ C++ \ C# \ .Net Libraries in Lotus Scirpt zu nutzen?
Wenn ja habt ihr vielleicht einen kurzen hinweis wie oder wo ich eine Anleitung finde?
vielen Dank im voraus.
MfG Stefan
Wenn es DLLs sind per Declare Statement
OK das war klar, vielleicht falsch ausgedrückt
In eine db einbinden, damit Sie jeder nutzen kann ohne das Sie auf jedem rechner vorhanden sein muss?!
Und noch ein Problem.
Habe eine Dll in C:\Ordern\name.dll liegen.
Wenn ich jetzt
Declare Function funcName Lib "C:\Ordern\name.dll" (Byval a As Integer, Byval b As Integer) As Integer
in den Declarations-Bereich schreibe und die Funktion nutzen möchte sagt mir not "Error on loading dll"
Dank für deine Hilfe
Hallo,
dll auch registriert?
Andreas
registriert?
OK er hat die dll (vb .net) gefunden sagt nun aber "External Function not found".
Diese ist aber definitiv drin und auch als public gekennzeichnet.
Das macht keinen Spass
Na dann wird die Funktion in der DLl eben nicht exportiert oder heisst anders
Habs jetzt mal mit einer sample dll probiert
.Net Code :
Public Class Class1
Public Function ADD(ByVal first As Integer, ByVal sec As Integer) As Integer
Dim abc As Integer
abc = first + sec
Return abc
End Function
End Class
Mein Aufruf :
Declarations :
Declare Function ADD Lib "c:\dll\MyDLL.dll" (Byval a As Integer, Byval b As Integer) As Integer
Click :
Print ADD(3, 4)
Ich denke so sollte es gehen
Hallo,
habe noch ein wenig gesucht und gelesen, dass Classes als "Shared assembly" erstellt werden müssen um Sie in notes nutzen zu können.
Egal ob C# oder .net.
Vielleicht nicht ganz passend an dieser Stelle,doch hat das schon mal jemand gemacht?
So richtig funktioniert es nicht wie ibm beschreibt, da die Kommandozeilen-befehle nicht erkannt werden.
http://www-01.ibm.com/support/…-8&lang=en&rss=ct463lotus
Danke im voraus
MfG Stefan
Dann würde ich mir halt mal die richtigen Kommandozeillenoptionen raussuchen.
Du weisst ja jetzt was zu tun ist
Hab 2 Projekte auf 2 wegen erstellt.
Einmal über die Command-Prompt aus dem Start-Menü (dort findet er auch die Befehle, anders als in der VS-Kommandozeile) erstellt.
Zum Anderen über Visual Studio, in den Projekt-Eigenschaften die Key-File hinzugefügt und die Prjektmappe erstellt.
Bin also 2 wegen gegangen, doch er sagt immernoch "External Function not found".
In anderes VS Projekte kann ich die Funktion nutzen.
Muss man in LN noch irgendetwas definieren oder Pfade als Speicherort für dll freigeben?
Die Datei scheint er ja zu finden nur die Funktion nicht.
MfG und Dank für eure Geduld.
Stefan
Und die Registrierung hast du auch vorgenommen wie in dem IBm Artikel beschrieben ?
Ja, hab ich.
Nur den Schritt mit der AssemblyInfo.cs konnt ich nicht machen, da die Datei nicht vorhanden war bzw. ist.
Aber das ist nur notwendig, wenn ich die Klasse für COM zugriffe aus anderen Anwendungen zur Verfügung stellen möchte.
Ich will ja einen direkten Zugriff auf die dll.
Dann muss die Funktion in einer Exporttable vorhanden sein.
Dafür gibt es dann entsprechende Viewer wo du das prüfen kannst, z.B. hier
Prüf doch mal damit nach ob und wie die Funktionen exportiert werden.
Wird sie hier nicht korrekt angezeigt kann sie auch nicht von LotusScript per Declare benutzt werden
Vielen Dank, wie sich zeigt ist die Funktion nicht sichtbar.
Werde mal schauen ob ich noch etwas finde.
Vielen Dank erst einmal für deine Hilfe.
Wenn ich den "Fehler" gefunden habe werde ich es mitteilen woran es gelegen hat.
Hallo zusammen,
für jeden den es interssiert, hier die Lösung des Problems.
Es ist in .Net nicht möglich, so wie in C Win32Dll's zu erstellen, die dann von anderen Sprachen verwendet werden können.
Grund dafür ist, dass .Net Code beim Kompilieren erst in eine Zwischenprache übersetzt wird und erst beim Verwenden durch den Just-In-Time Compiler in die Maschinensprache übersetzt wird.
Mit .Net ist es nur möglich Assemblies zu schreiben, die dann per COM verwendet werden können.
Vielen Dank an Alle, die sich gedanken gemacht und versucht haben zu helfen.
MfG Stefan