Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   C++ DLL ansteuern (https://www.delphipraxis.net/155349-c-dll-ansteuern.html)

backdraft 19. Okt 2010 22:27

C++ DLL ansteuern
 
Hallo zusammen,

ich wollte die libsidplay2.dll aus Delphi ansteuern.
Da ich dafür keine Headerdatei gefunden habe, habe ich mit PE Explorer mal geschaut, welche Funktionen exportiert werden.

Hierbei habe ich folgendes gefunden:

?selectSong@SidTune@@QAEGG@Z
Undecorated C++ Function:
public: unsigned short __thiscall SidTune::selectSong(unsigned short)

Weiss jemand, ob und wie man sowas aus Delphi ansteuern kann?

Robotiker 20. Okt 2010 07:51

AW: C++ DLL ansteuern
 
Die Funktionssignatur gehört zu einer Memberfunktion einer C++ Klasse.

Klassenexporte aus DLLs kann man in C++ nur mit genau dem Compiler verwenden mit dem die DLL erstellt wurde. Sonst kann das binäre Layout der Klassen unterschiedlich sein.

Die einzige praktikable Möglichkeit diese DLL in Delphi zu verwenden, ist sie mit einer weiteren in C++ geschriebenen DLL zu verpacken, die nur undekorierte C-Funktionen exportiert.

backdraft 20. Okt 2010 12:00

AW: C++ DLL ansteuern
 
Sowas hatte ich schon befürchtet, die Library selbst liegt im Quellcode vor bei SourceForge. Bringt das mir noch irgendeinen Vorteil? Ich hab vor Jahren mal ein kleines C-Projekt gemacht, da hören meine Kenntnisse aber auch schon auf.

Dazu kommt noch, da ich gar keine alte VS Version besitze, nur das VS2010.

Hat sich jemand schonmal mit dem Abspielen von SID Dateien beschäftigt? Wir bauen gerade ein Remake eines alten C64 Klassikers. Vielleicht gibts ja noch was anderes als diese Library.

Derzeitig habe ich die SID Datei als WAVE konvertiert, was aber zur Folge hat, dass ich GeMa Gebühren dafür zahlen müsste, blöd für nen Freeware Game.
Die Idee ist jetzt, dem Spiel beizubringen, ein SID Datei abzuspielen, so dass der Anwender sich diese selbst im Internet laden kann und ich keine Musik mit ausliefere.

Bin für jeden Tipp dankbar

Assarbad 20. Okt 2010 20:17

AW: C++ DLL ansteuern
 
Zitat:

Zitat von Robotiker (Beitrag 1056627)
Die einzige praktikable Möglichkeit diese DLL in Delphi zu verwenden, ist sie mit einer weiteren in C++ geschriebenen DLL zu verpacken, die nur undekorierte C-Funktionen exportiert.

Nicht ganz. Ein Interface (IDL) ist auch noch eine (praktikablere) Möglichkeit.

uligerhardt 21. Okt 2010 07:37

AW: C++ DLL ansteuern
 
Vieelicht hilft dir das was.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:45 Uhr.

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