![]() |
Typumwandlung LPWaveFormatEx
Hallo Leute,
ich versuche gerade C oder C++ Code in Delphi zu übersetzen. Habe einige Probleme gehabt, konnte die aber alleine lösen. Jetzt bin ich an einem Punkt angelangt, wo ich nciht mehr weiter komme. Und zwar möchte ich folgendes übersetzen:
Code:
Die acmStreamOpen Funktion:
...
LPMPEGLAYER3WAVEFORMAT mp3Format = (LPMPEGLAYERWAVEFORMAT) LocalAlloc(LPTR, maxFormatSize); //maxFormatSize ist eine Variable und hat den Wert 0 ... mmr = acmStreamOpen(&g_mp3stream,, NULL, (LPWAVEFORMATEX) mp3Format, waveFormat, NULL, 0, 0, 0); ... ![]() Der komplette Code, welchen ich versuche zu übersetzen: ![]() Leider kennt mein Delphi den LPWAVEFORMATEX nicht, sondern nur PWAVEFORMATEX und TWAVEFORMATEX. Genausowenig den LPMPEGLAYERWAVEFORMAT Format, sondern nur PMPEGLAYERWAVEFORMAT und TMPEGLAYERWAVEFORMAT Ich benutze MMSystem, MSAcm und MMReg Units dafür. Kann mir einer sagen, was ich falsch gemacht habe oder wie ich das Typenproblem lösen kann? PS: Ich kann kein C/C++ |
Re: Typumwandlung LPWaveFormatEx
Das sind einfach Namenskonventionen. Im C++-Windows-Header ist "LPMPEGLAYERWAVEFORMAT" ein Zeiger auf "MPEGLAYERWAVEFORMAT", unter Delphi zeigt ein "PMPEGLAYERWAVEFORMAT" auf ein "TMPEGLAYERWAVEFORMAT".
Allgemeiner: ein "LPxyz" in C++ ist meist einfach ein "Pxyz" in Delphi und die Struktur "xyz" selbst heißt in Delphi dann "Txyz". |
Re: Typumwandlung LPWaveFormatEx
Vielen Dank für die Info (die Antwort erst jetzt, da ich bis jetzt noch keine Zeit hatte).
Hab dann nur noch eine Frage und zwar: mp3Format ist von dem Typ: PMPEGLAYER3WAVEFORMAT und soll ich PWAVEFORMATEX umgewandelt werden. Habe ich das so richtig verstanden? Wenn dies der Fall ist, wie wandle PMPEGLAYER3WAVEFORMAT in PWAVEFORMATEX? Vielen Dank, vorraus. |
Re: Typumwandlung LPWaveFormatEx
Ich weiss, dass die Frage nicht so toll ist.
Naja, hab das Problem lösen können und will euch die Lösung nicht vorenthalten.
Delphi-Quellcode:
...
var waveFormat: TWaveFormatEx; mp3Format: TMPEGLAYER3WAVEFORMAT; ... MMStatus := acmStreamOpen(@mp3Stream, 0, mp3Format.wfx, waveFormat, nil, 0, 0, 0); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:30 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