Zitat von
Der_Unwissende:
Hi,
es gibt ein paar Stellen, die mich wundern, so übergibst Du häufiger mal Zeiger auf die Strukturen, der C-Code macht das (soweit ich es sehe) aber an keiner Stelle sondern übergibt immer eine Kopie, z.B.:
Code:
BOOL BASSVISDEF(BASSVIS_StartRecord)(BASSVIS_PARAM Param, int SampleRate = 44100, int Channels = 2);
vs.
Delphi-Quellcode:
function BASSVIS_StartRecord(Param: PBASSVIS_PARAM;
SampleRate: integer = 44100;
Channels: integer = 2
): BOOL; stdcall; external dllfile;
Wo kommt hier das PBASSVIS_PARAM her? Das taucht analog bei den anderen Routinen auf, deren Typ mit P beginnt.
ja PBASSVIS_PARAM ist der zeiger auf den Record TBASSVIS_PARAM
in C habe ich das gleiche übersetzt lediglich das P vor der Struct entfernt
Deshalb ja auch der Thread da ich denke das hier einige übersetzungs fehler vorliegen.
Auch weiss ich nicht ob man optionale Parameter überhaupt in c so übergeben kann .. siehe 'int SampleRate = 44100'
genauso weiss ich nicht wie ich diese Zeile übersetzen soll.
BASSVIS_STATECALLBACK = void(PlayState int NewState); stdcall;
stdcall habe ich belassen damit dem Übersetzer direkt auffällt das ich hier ein übersetzungsproblem habe.
gruss Emil
EDIT:
Müßte das dann so aussehen ?
Code:
BOOL BASSVISDEF(BASSVIS_StartRecord)(*BASSVIS_PARAM Param, int SampleRate = 44100, int Channels = 2);