Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Datenübergabe aus C++ dll an Delphi (https://www.delphipraxis.net/172551-datenuebergabe-aus-c-dll-delphi.html)

UliBru 10. Jan 2013 14:33

Datenübergabe aus C++ dll an Delphi
 
Ich bin leider absolut unbedarft in C++ und suche daher Eure Hilfe.

Aufgabenstellung:

Es liegt der Rumpf eines ASIO Treibers vor (C++, Basis ist ASIO SDK, Visual Studio C++2010 Express). Die dll funktioniert soweit, lässt sich registrieren und von einem Mediaplayer ansprechen. Hierbei werden die Daten vom Mediaplayer an den Treiber in einen Wechselpuffer geschrieben (bufferswitch event).

Üblicherweise gibt der Treiber dann diese empfangenen Daten an eine Soundkarte aus. Ich möchte die Daten jedoch an ein Delphi-Programm von mir weiterreichen, welches die Musik weiter bearbeitet und dann erst anschliessend an eine Soundkarte ausgibt (wiederum per ASIO).

Frage: wie kann die Datenübergabe zwischen der dll und dem Delphi-Programm am einfachsten/sinnvollsten realisiert werden ? Was ist auf der Senderseite zu tun (C++ Aufgabe, mein Hauptproblem) und was auf der Delphi-Seite ? Kann evtl. die dll von beiden Programmen (Mediaplayer + Delphiprogramm) gleichzeitig genutzt werden, so dass mein Programm schlichtweg per Funktionsaufruf an die Daten kommt? Da im Delphiprogramm ebenfalls ein bufferswitch event das Timing übernimmt, kann die Datenkommunikation m.E. gut synchronisiert werden.

Bin wie immer dankbar für jede Hilfe.

Grüsse, Uli

BUG 10. Jan 2013 21:05

AW: Datenübergabe aus C++ dll an Delphi
 
Das scheint ja eine normale DLL im Usermode zu sein :gruebel:

Die restliche Beschreibung klingt irgendwie so, als ob Memory Mapped Files (MMF) für die Kommunikation das richtige wären.
Ich kann mir aber vorstellen, dass das Umleiten über ein weitere Programm der Latenz nicht besonders gut tut.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz