BER-Konvertierung

Meldur

Erfahrenes Mitglied
Hallo!

Ich bitte dringend um Hilfe in C#. Ich habe hier eine C++ - DLL, welche Daten nach BER empfangen will. Nun habe ich schon die Methode
System.DirectoryServices.Protocols.
BerConverter.Encode gefunden. Ich encodiere z.B. wie folgt:

Code:
string text = Cryptography.EncryptData("es war einmal");

object[] textArr = new object[1];
textArr[0] = (object)text; 
Console.WriteLine(textArr[0]);
byte[] codedText = System.DirectoryServices.Protocols.BerConverter.Encode("s", textArr);

wenn ich den Spaß dann in die DLL schiebe, gibt die mir einen BER-Conversion-Error aus.
Ich blicke da bald nícht mehr durch.

Danke für Ratschläge!

P.S.: Kann man eigentlich aus einer C++-DLL eine ganze Klasse extrahieren? Ich kämpfe mich hier mit C-Wrapper-Klassen und jeder Menge Get- und Set-Routinen rum.
 
Also zu BER kann ich Dir leider nicht weiter helfen.
Musst mal schauen ob Du eine weitere Möglichkeit findest, BER testen zu können.
So kannst Dir sicher sein, dass es evtl sogar an der dll selber liegen könnte.

Die Klassen kannst mit dem Reflector for .NET in jede beliebige .NET Sprache extrahieren.
Dafür brauchst das Disassembler Plugin.

Bevor Du das aber machst, schaust mal bitte in diesen [thread=257418]C# und C++ DLLs - Thread[/thread].
Es ist nicht immer vorteilhaft TypeWrapper Bibliotheken zu zerlegen
und die gewrappten Objekte in das Programm selber einzubinden. Warum erfährst in dem Thread.
 
Hi cosmo,

Danke für den Tip. Ich habe inzwischen den Entwickler der Bibliothek erreicht und wir haben uns auf einen Datenaustausch via XML-Schema geeinigt. So ist das eigentlich Problem der Plattformunabhängigkeit vom Tisch und dem Verlauf des Projektes ist es auch noch förderlich. Den von Dir angezeigten Link schau ich mir mal an.

Gruß, P.
 

Neue Beiträge

Zurück