Announcement

Collapse
No announcement yet.

von Delphi nach C#

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

  • von Delphi nach C#

    Hallo,

    ich wollte fragen,ob jemand <a href="http://fragga.sundfcomputer.de/MP3export.pas">diesen</a> Delphi source nach C# übersetzen kann.
    Habe es zwar schon versucht,aber kriege ständig einen ERR_BUFFER_TOO_SMALL.
    Auch wenn ich den buffer größer mache.<br><br>
    Zuletzt editiert von Freak-2k; 26.10.2012, 07:24.

  • #2
    Hallo,

    auch die Delphi-Unit ruft nur Funktionen aus einer anderen nativen Win32-DLL auf, so dass der C#-Nachbau über P/Invoke auf die DLL zugreifen müsste.

    &gt;...aber kriege ständig einen ERR_BUFFER_TOO_SMALL.

    Wie sieht die DllImport-Deklaration und der Aufruf der gefüllten Parameterstruktur in diesem Fall aus? Da die native DLL relative "komplexe" Strukturen inklusive Array of Char nutzt, muss dem automatischen P/Invoke-Mechanismus von Hand unter die Arme gegriffen werden. In der Hilfe des .NET Frameworks würde ich mir dazu die Seiten zu <b>Marshal.PtrToStructure</b>, <b>Marshal.StringToHGlobalAnsi</b> und <b>StructLayout(LayoutKind.Sequential)</b> genauer ansehen.

    P.S: Wenn die C# Anwendung dann immer noch eine "alte" unmanged code-DLL nutzt, warum wird der Zugriff nicht in einer mit Delphi compilierten DLL belassen, die dann von der C#-Anwendung aufgerufen wird? In diesem Fall ist der ganze Aufwand für die P/Invoke-Anpassung überflüssig, solange die eigene Delphi-DLL nur "harmlose" Datentypen für die exportierten Schnittstellenprozeduren der DLL nutzt

    Comment

    Working...
    X