Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Bei Programmstart bass.dll im Systemordner initialisieren (https://www.delphipraxis.net/78476-bei-programmstart-bass-dll-im-systemordner-initialisieren.html)

newuser01 5. Okt 2006 17:33


Bei Programmstart bass.dll im Systemordner initialisieren
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo

Ich verwende die bass.dll in meinem Projekt und diese muss sich ja leider immer im Programmverzeichnis befinden. Ich möchte aber das bei Programmstart nicht im Programmordner nach der bass.dll gesucht wird sondern im Windows Systemordner geht das ? und wo genau ändere ich die Pfadangabe genau das die dll dann auch dort initialisiert wird ? Ich sollte vielleicht noch erwähnen das ich die Torry Komponente BASSPlayer.pas benutze dort denk ich mal muss auch der Initialisierungspfad geändert werden nur wo :gruebel:

EWeiss 5. Okt 2006 19:33

Re: Bei Programmstart bass.dll im Systemordner initialisiere
 
Zitat:

Zitat von newuser01
Hallo

Ich verwende die bass.dll in meinem Projekt und diese muss sich ja leider immer im Programmverzeichnis befinden. Ich möchte aber das bei Programmstart nicht im Programmordner nach der bass.dll gesucht wird sondern im Windows Systemordner geht das ? und wo genau ändere ich die Pfadangabe genau das die dll dann auch dort initialisiert wird ? Ich sollte vielleicht noch erwähnen das ich die Torry Komponente BASSPlayer.pas benutze dort denk ich mal muss auch der Initialisierungspfad geändert werden nur wo :gruebel:

Versuch mal in deinen einstellungen den Suchpfad von System32 mit einzubinden vielleicht findet er sie dann.

gruß

mkinzler 5. Okt 2006 19:43

Re: Bei Programmstart bass.dll im Systemordner initialisiere
 
es dürfte eigentlich kein Unterschied machen, da der Loader, wenn er die Dll im Programmverzeicnis nicht findet, diese in den Verzeichnissen der Umgebungsvariablen PATH sucht.

EWeiss 5. Okt 2006 20:06

Re: Bei Programmstart bass.dll im Systemordner initialisiere
 
Zitat:

Zitat von mkinzler
es dürfte eigentlich kein Unterschied machen, da der Loader, wenn er die Dll im Programmverzeicnis nicht findet, diese in den Verzeichnissen der Umgebungsvariablen PATH sucht.

Jo!
Aber davon abgesehen steht überall geschrieben das man die Bass.dll nicht
ins System32 Verzeichnis kopieren soll.
Allein schon deshalb nicht weil unterschiedliche Versionen davon im umlauf sind.
Andere Anwendungen würden dann nicht mehr funktionieren.

Aber jeder wie er will ;)

gruß

newuser01 5. Okt 2006 20:41

Re: Bei Programmstart bass.dll im Systemordner initialisiere
 
Ok System32 Verzeichnis also besser nicht also ein anderes Verzeichnis nur wo stell ich die Pfadangabe nun ein ?

mkinzler 5. Okt 2006 20:47

Re: Bei Programmstart bass.dll im Systemordner initialisiere
 
Zitat:

Zitat von newuser01
Ok System32 Verzeichnis also besser nicht also ein anderes Verzeichnis nur wo stell ich die Pfadangabe nun ein ?

Jedes andere Verzeichnis im PATH ist genau gut/schlecht wie das Win32-Verzeichnis.

Wishmaster 5. Okt 2006 21:56

Re: Bei Programmstart bass.dll im Systemordner initialisiere
 
Hi

Warum nimmst du nicht Dynamic_Bass?

Delphi-Quellcode:
Function Load_BASSDLL (const dllfilename:string) :boolean;
const szBassDll = 'bass.dll' + #0;
var
  oldmode:integer;
  P: PChar;
  s: string;
  dllfile: array[0..MAX_PATH + 1] of Char;
begin
  Result := False;
  if BASS_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(szBassDll), nil, MAX_PATH, dllfile, P) > 0 then
        s := StrPas(dllfile)
      else exit;
      end;
    oldmode:=SetErrorMode($8001);
    s := s + #0;
    BASS_Handle:=LoadLibrary(pchar(s)); // obtain the handle we want
    SetErrorMode(oldmode);
    if BASS_Handle<>0 then
       begin


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:38 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