AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi bass_fx dynamisch laden?
Thema durchsuchen
Ansicht
Themen-Optionen

bass_fx dynamisch laden?

Ein Thema von Marco Steinebach · begonnen am 2. Feb 2008 · letzter Beitrag vom 3. Feb 2008
Antwort Antwort
Marco Steinebach

Registriert seit: 4. Aug 2006
491 Beiträge
 
Delphi 5 Enterprise
 
#1

bass_fx dynamisch laden?

  Alt 2. Feb 2008, 15:17
Hallo Listers,
ich kriege jetzt auf der Stelle einen Weinkrampf!
also: ich brauche die BASS_FX.Dll. Dazu gibt's, für Delphi, aber nur eine Unit, in der die Statisch geladen wird. Pfui-Deiwel.
Jetzt hab ich alles umgeschrieben, und folgendes kam dabei heraus:
Code:
...
Function Load_BASSFXDLL (const dllfilename:string) :boolean;
const szBassFXDll = 'bass_fx.dll' + #0;
var
  oldmode:integer;
  P: PChar;
  s: string;
  dllfile: array[0..MAX_PATH + 1] of Char;
begin
  Result := False;
  if BASS_FX_Handle<>0 then result:=true {is it already there ?}
  else begin {go & load the dll}
    s := dllfilename;
    if Length(s) = 0 then begin
      P := nil;
      if SearchPath(nil, PChar(szBassFXDll), nil, MAX_PATH, dllfile, P) > 0 then
        s := StrPas(dllfile)
      else exit;
      end;
    oldmode:=SetErrorMode($8001);
    s := s + #0;
    BASS_FX_Handle:=LoadLibrary(pchar(s)); // obtain the handle we want
    SetErrorMode(oldmode);
    if BASS_FX_Handle<>0 then
       begin {now we tie the functions to the VARs from above}
...
der ganze Kram ist aus Dynamic_Bass übernommen.
Das es mit dem DLLLoader nicht klappt, soweit bin ich auch schon, obwohl das die sinnigste Lösung, für mich, gewesen wäre.
Rufe ich aber die funktion
Code:
Load_BASSFXDll
auf, kommt bei
Code:
    BASS_FX_Handle:=LoadLibrary(pchar(s)); // obtain the handle we want
0 heraus. Für eine andere DLL klappt das verfahren ganz wunderbar.
Kann man diese unglaublich DLL denn nicht dynamisch linken? Und wenn man das nicht kann, hat mir wer 'nen tip, wie ich diese Windows-Meldungen mit "komponente nicht da"... bei Programmstart abfange, wenn die DLL nicht da ist?
Verzweifelte Grüße
Marco
Marco Steinebach
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

Re: bass_fx dynamisch laden?

  Alt 2. Feb 2008, 15:58
Es gibt eine Seite mit einer unit BassFX_Dynamic.pas
http://members.aol.com/wtgdana/private/Bass/

wirst aber umschreiben müssen da für eine ältere Version von BassFx
  Mit Zitat antworten Zitat
Marco Steinebach

Registriert seit: 4. Aug 2006
491 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: bass_fx dynamisch laden?

  Alt 3. Feb 2008, 11:55
Hallo,
Zitat von EWeiss:
Es gibt eine Seite mit einer unit BassFX_Dynamic.pas
http://members.aol.com/wtgdana/private/Bass/

wirst aber umschreiben müssen da für eine ältere Version von BassFx
Ha! Vielen Dank. Ich hab sie nicht umgeschrieben, sondern neu gemacht. Der entscheidende Tip, aus dieser Unit, war, daß erst die BASS.DLL geladen sein muß, bevor man die BASS_FX.DLL laden kann. Beides geht dünamisch ganz wunderbar.
Ich hänge, für alle, die sich die Schreibarbeit sparen wollen, die Unit Dynamic_BASS_FX hier dran. Sie basiert auf der Version 2.3.03, ist also ganz aktuell.
Und denkt dran: erst bass.dll dann bass_fx.dll.
Viele Grüße
Marco
Angehängte Dateien
Dateityp: pas dynamic_bass_fx_721.pas (32,3 KB, 5x aufgerufen)
Marco Steinebach
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:08 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