BASS mit Lazarus mag nicht anspringen (Gelöst : 32bit statt 64bit dll verwendet)

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
Zimond
Beiträge: 2
Registriert: Do 2. Jul 2020, 23:04

BASS mit Lazarus mag nicht anspringen (Gelöst : 32bit statt 64bit dll verwendet)

Beitrag von Zimond »

Mahlzeit, liebes Forum.

Ich bin noch nicht all zu lange mit Lazarus (auf Windows) beschäftigt und habe bis jetzt erfolgreich einige Grafiktests machen können. Nun wollte ich BASS einbinden was ja auch unter Lazarus FPC funktionieren soll.

Bass in die Uses Klausel,. Unit pfad zur bass.pas eingepflegt und bass.dll in den Programmordner kopiert.

Kompiliert ohne Probleme, aber sobald irgendwo im Quelltext ein Aufruf zu einer Funktion von BASS drin steht bricht die Anwendung sofort ab. Kommt gar nicht erst im FormCreate an. Keine Meldung, nix. Starte ich die EXE direkt bekomme ich nur ein "Die Anwendung kann nicht gestartet werden". Entferne ich die bass.dll aus dem Ordner hingegen dann heißt es auch beim starten der EXE das bass.dll nicht gefunden wurde. Die DLL wird also definitiv gefunden.

Ich hab Lazarus 2.0.4 und die neuste Version von Bass benutzt. Auch ein importieren der Beispiel Delphi Projekte vom BASS ordner ergibt das gleiche Problem.

Benutzt irgendwer gerade BASS mit Lazarus (Win) und kann bestätigen das die 2.4er version definitiv damit läuft?
Zuletzt geändert von Zimond am Fr 3. Jul 2020, 15:28, insgesamt 1-mal geändert.

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: BASS mit Lazarus mag nicht anspringen

Beitrag von Winni »

Hi!

Initializierst Du die BASS Bibliothek????
Hört sich an, als ob nicht.

Code: Alles auswählen

procedure BassInit(H: HWND);
begin
{$IFDEF LINUX}
BASS_Init(-1, 44100, 0, @H, nil);
{$ELSE}
BASS_Init(-1, 44100, 0, H, nil); /// !!! Bei Windows ohne Pointer, nur Handle
{$ENDIF}
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
BassInit(Handle);
end;
Nun Rock'n'Roll zu hören???

Winni

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: BASS mit Lazarus mag nicht anspringen

Beitrag von Winni »

Nochmal ich.

Ich hab vor ein paar Tagen das Wesentliche bzgl BASS im internationale Forum zusammengefasst.
Auf english. Da hatte sich jemand komplett verfranst:

https://forum.lazarus.freepascal.org/in ... #msg367536

Und : Im BASS-Paket ist eine sehr gute und ausführliche BASS.chm . Die liegt bei mir auf dem Desktop.

Keep on rockin'

Winni

Zimond
Beiträge: 2
Registriert: Do 2. Jul 2020, 23:04

Re: BASS mit Lazarus mag nicht anspringen

Beitrag von Zimond »

Winni hat geschrieben:
Fr 3. Jul 2020, 01:48
Hi!

Initializierst Du die BASS Bibliothek????
Hört sich an, als ob nicht.

Winni
Doch , natürlich. Ich hab BASS lange und ausführlich mit Delphi benutzt. Ich weis also wie es funktioniert und wüsste auch wie ich an Fehlercodes komme ect, aber das Problem ist, er kommt gar nicht erst bei Bass_Init an oder überhaupt bei irgendeinen Code. Das blosse vorhandensein eines Bass Aufrufes irgendwo im Code beendet die App beim Start. Nicht mal bei Application.Initialize; kann ich einen Haltepunkt setzen. Der endet wirklich sofort beim Start. Selbst wenn ich im form.destroy das Bass_free stehen lasse bricht es sofort ab beim Start.

Edit.
Ohh.. ich Affe!!

Ich hab die 32bit Dll benutzt und nicht gesehen das in nem Extra Ordner eine 64bit Version ist... :oops: Auf Delphi hab ich noch alles auf Win32 kompiliert und aus Gewohnheit hab ich die DLL im Hauptordner kopiert. Tut mir leid.

Antworten