![]() |
Bass.dll einbinden?
Hallo, ist es möglich die Bass.dll in eine Unit "einzubinden".
Also ich meine, dass man diese externe Bass.dll nicht mehr braucht? Wenn ja, wie geht das? |
Re: Bass.dll einbinden?
Guck Dir mal
![]() |
Re: Bass.dll einbinden?
Egal ob du es mit einer Unit oder einer Komponente einbindest, die BASS.DLL brauchst du immer. In ihr steckt die eigentliche Funktionalität.
|
Re: Bass.dll einbinden?
Also ich dachte mit dem Code hier wär das Problem gelöst:
Delphi-Quellcode:
Aber wenn ich den einfüge und BASS (Bass.pas ist die Unit zur Bass.dll)aus den Uses nehme
var
Form1: TForm1; DLLRes: TResourceStream; implementation {$R *.dfm} {$R DLL.res} function TempDir: String; begin Result := SysUtils.GetEnvironmentVariable('temp'); end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin DeleteFile(TempDir+'\bass.dll'); end; procedure TForm1.FormCreate(Sender: TObject); begin if not FileExists(TempDir+'\bass.dll') then begin DLLRes :=TresourceStream.CreateFromID(0, 101, PChar('DLL')); DLLres.SaveToFile(TempDir+'\bass.dll'); end; if FileExists(TempDir+'\bass.dll') then ShowMessage(':-)') else ShowMessage(':-('); end; erhate ich den Fehler in dieser Zeile:
Delphi-Quellcode:
HStream wär nicht definiert/deklariert.
chan: HSTREAM = 0;
Das Hstream steht ja natürlich in der Bass.pas.. aber ich möcht die ja gern so wie im Beispiel oben einbinden :idea: |
Re: Bass.dll einbinden?
Du musst unterscheiden zwischen der pas und der dll. Du kannst die dll mit in die Exe packen und beim Start extrahieren (ob das die Bass.dll-Entwickler so mögen, weiß ich nicht. Wenn du die Verwendung der bass nicht "verheimlichst" geht das aber iirc in Ordnung. Ich meine, da mal von Ian einen Kommentar zu gelesen zu haben.)
Trotzdem musst du die Unit bass.pas verwenden. Woher soll denn sonst der Compiler die ganzen Befehle kennen? Die bass.pas muss du ja nicht mitliefern, dein Problem wäre also gelöst. |
Re: Bass.dll einbinden?
Zitat:
Zitat:
Im deinem Post 2 beschreibst du aber wie man eine Datei aus einer Resource extrahierst und als Datei speicherst. Somit währe die Datei wieder als externe Datei vorhanden. Bedenke das die DLL wen du sie aus der Resource extrahierst mit einem realen Pfad geladen werden muss oder du "entpackst" diese in das Windows-Systemverzeichnis (schlechte Idee) bzw. in das Verzeichnis deiner Anwendung (bessere Idee). |
Re: Bass.dll einbinden?
mh, naja eigentich sollte sie ganz verschwinden (extern)
|
Re: Bass.dll einbinden?
Zitat:
Aber mal im ernst wie soll das gehn ? gruss |
Re: Bass.dll einbinden?
Ich dachte ich binde sie dynamisch ein. hat eben auch soweit geklappt, nur die bass_dynamic die ich hatte war 2 ausgabeversionen älter :? .. also soll heißen es werden die proceduren falsch adressiert
|
Re: Bass.dll einbinden?
Zitat:
![]() Mußt dir die *.pas Dateien halt auf die neueste Version von Bass anpassen. Ob jemand neuere ausgaben zur verfügung stellt weiss ich auch nicht. gruss Emil |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:20 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