AGB  ·  Datenschutz  ·  Impressum  







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

Bass.dll einbinden?

Ein Thema von Tommy1988 · begonnen am 29. Jul 2007 · letzter Beitrag vom 29. Jul 2007
Antwort Antwort
Tommy1988
(Gast)

n/a Beiträge
 
#1

Bass.dll einbinden?

  Alt 29. Jul 2007, 03:43
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?
  Mit Zitat antworten Zitat
Benutzerbild von Dunkel
Dunkel

Registriert seit: 26. Mär 2007
Ort: Klingenstadt
541 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Bass.dll einbinden?

  Alt 29. Jul 2007, 04:02
Guck Dir mal das an.
Es ist zu wahr um schön zu sein...
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: Bass.dll einbinden?

  Alt 29. Jul 2007, 07:42
Egal ob du es mit einer Unit oder einer Komponente einbindest, die BASS.DLL brauchst du immer. In ihr steckt die eigentliche Funktionalität.
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#4

Re: Bass.dll einbinden?

  Alt 29. Jul 2007, 10:57
Also ich dachte mit dem Code hier wär das Problem gelöst:

Delphi-Quellcode:
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;
Aber wenn ich den einfüge und BASS (Bass.pas ist die Unit zur Bass.dll)aus den Uses nehme
erhate ich den Fehler in dieser Zeile:
  chan: HSTREAM = 0; HStream wär nicht definiert/deklariert.

Das Hstream steht ja natürlich in der Bass.pas.. aber ich möcht die ja gern so wie im Beispiel oben einbinden
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
877 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Bass.dll einbinden?

  Alt 29. Jul 2007, 11:08
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.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#6

Re: Bass.dll einbinden?

  Alt 29. Jul 2007, 11:15
Zitat von Tommy1988:
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?

Zitat von Tommy1988:
Also ich dachte mit dem Code hier wär das Problem gelöst:

... Aber wenn ich den einfüge und BASS (Bass.pas ist die Unit zur Bass.dll)aus den Uses nehme
erhate ich den Fehler in dieser Zeile:
  chan: HSTREAM = 0; HStream wär nicht definiert/deklariert.

Das Hstream steht ja natürlich in der Bass.pas.. aber ich möcht die ja gern so wie im Beispiel oben einbinden
Im Post 1 fragst du wie man es Anstellt die Bass.dll so einzubinden das man sie als externe Datei nicht mer braucht....

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).
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#7

Re: Bass.dll einbinden?

  Alt 29. Jul 2007, 11:34
mh, naja eigentich sollte sie ganz verschwinden (extern)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#8

Re: Bass.dll einbinden?

  Alt 29. Jul 2007, 11:57
Zitat von Tommy1988:
mh, naja eigentich sollte sie ganz verschwinden (extern)
Wäre nicht schlecht wenn du die Kernel32 dann auch direkt verschwinden läßt.
Aber mal im ernst wie soll das gehn ?

gruss
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#9

Re: Bass.dll einbinden?

  Alt 29. Jul 2007, 12:04
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
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#10

Re: Bass.dll einbinden?

  Alt 29. Jul 2007, 12:07
Zitat von Tommy1988:
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
Schau mal hier http://members.aol.com/wtgdana/private/Bass/

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
  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 04:57 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