Announcement

Collapse
No announcement yet.

IStream mit VB.net

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • IStream mit VB.net

    Ich bin Delphi Umsteiger und habe so meine Problem mit Zugriff auf COM Streams.
    Unter Delphi griff ich folgendermaßen auf den Stream zu:

    *********************************************
    Ms := TMemoryStream.create;
    MyStream := TStreamAdapter.create(Ms,soOwned);
    img.SaveToStream(MyStream as IStream); // COM Methode mit Istream
    MyStream.Stream.Position := 0;
    Image1.Picture.Bitmap.LoadFromStream(MyStream.Stre am);
    **********************************************

    Wie adaptiert man dies unter VB.NET

  • #2
    Hallo,
    im .NET Framework 2.0 ist das IStream-Interface im Namespace <b>System.Runtime.InteropServices.ComTypes</b> zu finden. In der Hilfe (siehe <i>http://msdn2.microsoft.com/de-de/library/system.runtime.interopservices.comtypes.istream_me mbers(VS.80).aspx</i>) sind einige Beispiele zu finden.
    <br>
    Generell ist es beim Wechsel zu .NET eine gute Idee, nicht als alte Programm 1:1 nachzubauen, sondern sowohl das Fundament als auch die Details auf die neuen Möglichkeiten auszurichten. Der Zugriff auf P/Invoke (Win32-DLLs) und COM Interop (COM-Objekte) ist in der Regel nur dann sinnvoll, wenn die "alte Welt" mit der "neuen Welt" verbunden werden muss

    Comment


    • #3
      Hallo,
      vielen Dank für die Antwort. Ich greife über die COM Schnittstelle auf unser Warenwirtschaftssystem zu mus deswegen die alte Welt mit der neuen verbinden

      Dein Link auf die ISTREAM Schnittstelle bringt mir alle Methoden der Schnittstelle. Was heisst das jetzt für mich? Muss ich diese Schnittstelle ausprogrammieren? Das ganze ist mir jetzt nicht unbedingt klarer. Ein Beispiel hab ich leider dort nicht gefunden

      Gruß
      Andreas Wehne

      Comment


      • #4
        Hallo,
        die Beispiele werden auf der Dokumentations-Seite der einzelnen Interface-Methoden aufgeführt (siehe <i>http://msdn2.microsoft.com/de-de/library/system.runtime.interopservices.comtypes.istream.co pyto(VS.80).aspx</i> im Kasten <i>Visual Basic (Verwendung)</i>)

        Comment


        • #5
          Hallo Andreas Kosch,

          ich bin etwas schwer von Begriff. Ich kann ja keine neue Instanz von IStream erzeugen z.B.
          Dim s As New System.Runtime.InteropServices.ComTypes.IStream

          Deswegen scheitert dann auch die Funktion

          Image.SaveToStream(s) welche einen Istream benötigt.

          Gruß
          Andreas Wehne

          Comment

          Working...
          X