AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

C++ DLL ansteuern

Ein Thema von backdraft · begonnen am 19. Okt 2010 · letzter Beitrag vom 21. Okt 2010
Antwort Antwort
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
335 Beiträge
 
Delphi 11 Alexandria
 
#1

C++ DLL ansteuern

  Alt 19. Okt 2010, 23:27
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?
Oliver
  Mit Zitat antworten Zitat
Robotiker
(Gast)

n/a Beiträge
 
#2

AW: C++ DLL ansteuern

  Alt 20. Okt 2010, 08:51
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.
  Mit Zitat antworten Zitat
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
335 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: C++ DLL ansteuern

  Alt 20. Okt 2010, 13:00
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
Oliver

Geändert von backdraft (20. Okt 2010 um 14:36 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#4

AW: C++ DLL ansteuern

  Alt 20. Okt 2010, 21:17
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.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#5

AW: C++ DLL ansteuern

  Alt 21. Okt 2010, 08:37
Vieelicht hilft dir das was.
Uli Gerhardt
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:46 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