![]() |
Re: Powerbasic 1 zeilen problem
vom Plugin PB wird
Code:
gesendet
BBP.Version = MAKDWD(1, 0) '// Version 1.0"
in PB und Delphi deklariert als DWORD
Delphi-Quellcode:
LOWord(BBP.Version) sollte die 1 zurückgeben
Version : DWORD; // LOWRD major, HIWRD minor.
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:
was stimmt bei einigen punkten in Delphi gegenüber PB nicht ?
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; Einiges haben wir ja schon geklärt. ;) EDIT: Version habe ich geklärt..
Delphi-Quellcode:
gruss Emil
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; |
Re: Powerbasic 1 zeilen problem
Author muss [0..63] heißen.
LONG (PB) entspricht Integer (Delphi), aber es ist schon gut, wenn du aus LONG ein hDC machst. |
Re: Powerbasic 1 zeilen problem
Zitat:
Flüchtigkeits Fehler . Danke Mit dem hdc habe ich so gemacht damit es zu C++ compatibel ist da mag man es nicht wenn man Integer anstatt ein hdc zum zeichnen übergibt ;) gruss Emil |
Re: Powerbasic 1 zeilen problem
eine frage wegen dem ARGB
Was müßte ich da für eine wert schicken ? bzw.. reicht da DWORD im Plugin wird die GL Farbe gesplittet
Delphi-Quellcode:
Ich übergebe einfach mal 0 weil ich im moment noch nicht weiss was er erwartet.
CALL BBP_SplitColorARGB(BBP.BackARGB, A?, R?, G?, B?)
Schicke ich die Daten so rüber
Delphi-Quellcode:
dann funktioniert das noch und ich kann die nächsten Daten übergeben.BassBoxInfo^.Msg := BBP_CREATE; if BBP_Plugin(BassBoxInfo^) = BBP_SUCCESS then begin BassBoxInfo^.Msg := BBP_INIT; BassBoxInfo^.ParentWindow := BB_VisDataThread.Handle; BassBoxInfo^.DC := h_DC; BassBoxInfo^.rc := h_RC; BassBoxInfo^.BackARGB := 0; //SK_AEROCOLOR() BassBoxInfo^.FFTsize := 256; end; Sende ich die nächsten Daten mit ParentWindow usw.. rufe dann das nochmal auf
Delphi-Quellcode:
dann gibts ne Fehlermeldung Access Violation in ntdll.dll
if BBP_Plugin(BassBoxInfo^) = BBP_SUCCESS then
gruss Emil |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:15 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