vom Plugin PB wird
Code:
BBP.Version = MAKDWD(1, 0) '// Version 1.0"
gesendet
in PB und Delphi deklariert als DWORD
Version : DWORD; // LOWRD major, HIWRD minor.
LOWord(BBP.Version) sollte die 1 zurückgeben
HiWord(BB.Version) eigentlich die 0 enthalten
ist aber nur eine 1 sichtbar
Auch hier die Variable nicht korrekt ?
kopier mal meinen Record hier rein bevor ich nachher für jedes einzelne Teil frage.
Delphi-Quellcode:
PBbpPluginRec = ^TBbpPluginRec;
TBbpPluginRec =
record
Msg : DWORD;
// The plugin's message
// (see above constant list).
ParentWindow : HWND;
// parent window
//(filled in by calling app)
DC : HDC;
RC : HGLRC;
Lpeak : WORD;
// The left audio channel peak value
// (while in play mode).
Rpeak : WORD;
// The right audio channel peak value
// (while in play mode).
Title :
array [0..31]
of Char;
// Plugin's name or title.
Author :
array [0..61]
of Char;
// Plugin's author name.
Version : DWORD;
// LOWRD major, HIWRD minor.
RenderTo : DWORD;
// BBP_GDIPLUS,
// BBP_OPENGL,
// BBP_DIRECTX.
BackARGB : DWORD;
// Default ARGB color background.
FFTdata : DWORD;
// DWORD pointer to the FFT()
// AS SINGLE array.
FFTsize : WORD;
// Size of the FFT array.
WinMsg : LongInt;
// True Windows message.
wParam : LongInt;
// wParam
lParam : LongInt;
// lParam'
WIMdata : DWORD;
// DWORD pointer to the wave MM_WIM_DATA.
MediaLength : DWORD;
// Media length.
MediaPos : DWORD;
// Media pos.
Reserved :
array [0..97]
of Char;
// Reserved for future extension.
end;
was stimmt bei einigen punkten in Delphi gegenüber PB nicht ?
Einiges haben wir ja schon geklärt.
EDIT:
Version habe ich geklärt..
Delphi-Quellcode:
const
cverfor = '%d.%d';
function BBP_Plugin(BBP : TBbpPluginRec): Integer; stdcall;
begin
Result := BbpPluginFunc(BBP);
BassBoxInfo^.Title := BBP.Title;
BassBoxInfo^.Author := BBP.Author;
Version := (format(cverfor,
[LoWord(BBP.Version),
HiWord(BBP.Version)]));
end;
gruss Emil