AGB  ·  Datenschutz  ·  Impressum  







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

Powerbasic 1 zeilen problem

Ein Thema von EWeiss · begonnen am 6. Jun 2008 · letzter Beitrag vom 8. Jun 2008
Antwort Antwort
Seite 2 von 2     12   
EWeiss
(Gast)

n/a Beiträge
 
#11

Re: Powerbasic 1 zeilen problem

  Alt 8. Jun 2008, 10:46
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
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#12

Re: Powerbasic 1 zeilen problem

  Alt 8. Jun 2008, 13:56
Author muss [0..63] heißen.

LONG (PB) entspricht Integer (Delphi), aber es ist schon gut, wenn du aus LONG ein hDC machst.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#13

Re: Powerbasic 1 zeilen problem

  Alt 8. Jun 2008, 14:04
Zitat von marabu:
Author muss [0..63] heißen.

LONG (PB) entspricht Integer (Delphi), aber es ist schon gut, wenn du aus LONG ein hDC machst.
muss das mit den 63 noch ändern.
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
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#14

Re: Powerbasic 1 zeilen problem

  Alt 8. Jun 2008, 16:48
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
CALL BBP_SplitColorARGB(BBP.BackARGB, A?, R?, G?, B?) Ich übergebe einfach mal 0 weil ich im moment noch nicht weiss was er erwartet.

Schicke ich die Daten so rüber

Delphi-Quellcode:
      
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;
dann funktioniert das noch und ich kann die nächsten Daten übergeben.
Sende ich die nächsten Daten mit ParentWindow usw.. rufe dann das nochmal auf
if BBP_Plugin(BassBoxInfo^) = BBP_SUCCESS then dann gibts ne Fehlermeldung Access Violation in ntdll.dll

gruss Emil
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 11:49 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