2009-07-06 7 views
0

Ich muss ein Com-Objekt mit .net mit C# oder Delphi .Net serialisieren ist das möglich?Wie serialisiere ich ein COM-Objekt in .Net?

+0

Sicher hat jemand Code-Beispiele? –

+0

@Robert: Warum würde es Code-Beispiele geben? Diese Frage ergibt überhaupt keinen Sinn. Kennt das COM-Objekt etwas über XML? Kann es sich selbst serialisieren? Ist es sogar möglich, eine Instanz des Objekts mit Standardparametern zu erstellen und dann alle Eigenschaften zu setzen (wie bei der Deserialisierung)? –

Antwort

2

Sie könnten dies wahrscheinlich tun, indem Sie das COM-Objekt in eine (serialisierbare) .NET-Klasse einbetten und die Felder anzeigen, die serialisiert werden sollen.

1

Sie können eine verwaltete Object bis GetObjectForIUnknown Methode erhalten. Und dann können Sie dieses verwaltete Objekt serialisieren.

4

Überprüfen Sie, ob Ihr COM-Objekt IPersistStream, IPersistMemory oder eine andere der IPersist-Varianten implementiert - das wäre Ihre beste Wette.

+0

Das Com-Objekt implementiert keine IPersistent-Variante. – RRUZ

0

Ich bin mir nicht sicher, ob es Unterschiede in der Art geben wird, wie Sie Ihre Daten in C++, .Net oder in einer anderen Sprache serialisieren. COM-Objekt ist wie eine Klasse und kann serialisiert werden, indem jedes Datenelement abgerufen und serialisiert wird. Das hat mir in C++ gefallen.

Ich denke, dies sollte in. NET identisch sein, es sei denn, es gibt bestimmte APIs, um es zu tun.

0

Nicht einfach durch Übergabe von Objekt an Serializer - implementieren Sie ISerializable Schnittstelle auf COM-Objekt-Wrapper (primäre Interop-Assembly ist auch ein Wrapper) und definieren Sie Ihre eigene Serialisierung.