SiDiary > Allgemeines
AddIn SDK - RequestData
<< < (2/2)
Mastacheata:
Hier mal die Signatur der GetUDTID wie sie in der SiDiaryNET.dll steht (Hervorhebung durch mich):
public static int GetUDTID(int ptUDTKey) {...}
Und dann hier nochmal dein Beispielcode (wieder mit Hervorhebung):
int UDTID = mAddInObject.GetUDTID("CGMS");

Wie du siehst versucht der Beispielcode einen String zu übergeben, die Funktion erwartet aber einen Integer als Parameter.
Es geht wirklich um den Parameter nicht um den Rückgabewert der Funktion.


--- Zitat ---sollte es eigentlich tun aber da müsste doch auch ein C#-Samplecode dabei sein, wie dort generell Strings übergeben werden.
--- Ende Zitat ---
Naja bei den Funktionen die Strings erwarten wird einfach ein String übergeben, aber die GetUDTID Funktion wird leider in keinem der Beispiele verwendet. Die Funktion ist irgendwie "kaputt". Vermutlich fehlt da irgendein Zwischenschritt beim übersetzen eurer COM Schnittstelle in .NET Code.
Weil der Parameter mit hoher Wahrscheinlichkeit so wie er im Moment ist einen Pointer enthalten sollte, war meine Idee, dass hier irgendwo ein Schritt beim übersetzen von managed Code in unmanaged Code für die COM Schnittstelle auf der Strecke geblieben ist in eurer .NET Api Bibliothek. Und zwar hab ich vermutet, dass die GetUDTID 1:1 an ein Pendant in der COM Schnittstelle weitergegeben wird ohne vorher den Parameter zu "übersetzen".
Der Parameter war also mal als String by Reference gedacht (also im Endeffekt ein IntPtr auf den String). Das widerrum geht mit managed Strings aber einfach gar nicht. Also mein Versuch den String in einen unmanaged String zu "übersetzen" und dann den Pointer darauf an die Funktion zu übergeben. Also im Endeffekt das was die Funktion selbst machen müsste um .NET Strings an eine "intern genutzte" COM API weiterzugeben.
Alf:
Das schaue ich mir mal an, dann wäre der DotNet-Wrapper an der Stelle tatsächlich nicht korrekt abgebildet...
Mastacheata:
Hast du eigentlich inzwischen mal Zeit gehabt das anzuschauen?

Falls ja, was ist dabei für eine Erkenntnis herausgekommen?
Falls nein, wie stehen meine Chancen das du das in absehbarer Zeit machen und ggfs beheben könntest?
Joerg Moeller:
Da muss ich dich noch um ein wenig Geduld bitten. Als ist momentan im Urlaub.

Viele Grüße,
Jörg
Alf:
Der DotNet-Wrapper ist leider bisher auf der Strecke geblieben. Ist aber nat. nicht vergessen!
Navigation
Themen-Index
Vorherige Sete

Zur normalen Ansicht wechseln
Powered by SMFPacks Likes Pro Mod