Kann mir jemand erklären was der aufruf
System.IsMultiThread := true;
im System genau bewirkt?
Mein problem ist das jemand nicht in der lage ist BassVis mit seiner anwendung vernünftig zu debuggen.
Wäre es möglich, das, wenn diese zeile sich nicht in der
DLL befindet es beim Debuggen
in fremden Anwendungen zu problemen kommen kann?
Alles funktioniert zu 98% nur jetzt nervt mich jemand mit diesen Problem.
Ich habs mal eingefügt .. nur lößt das mein problem ?
Delphi-Quellcode:
procedure LibraryProc(Reason: integer);
begin
case (Reason) of
DLL_PROCESS_ATTACH:
begin
BassHandle := LoadLibrary('bass.dll');
if (BassHandle = 0) then
begin
MessageBox(0, 'Unable to load ''bass.dll''' + #13#10 + 'Halting the library process', 'Fatal Error!!', MB_ICONERROR);
ExitCode := 1;
Exit;
end;
BassFuncs := GetProcAddress(BassHandle, '_');
if (BassFuncs = nil) then
begin
FreeLibrary(BassHandle);
BassHandle := 0;
MessageBox(0, 'Unable to load add-on functions from ''bass.dll''' + #13#10 + 'Halting the library process',
'Fatal Error!!', MB_ICONERROR);
ExitCode := 1;
Exit;
end;
System.IsMultiThread := true;
end;
DLL_PROCESS_DETACH:
begin
if (BassHandle <> 0) then
begin
FreeLibrary(BassHandle);
BassHandle := 0;
end;
if (FindPluginsPtr <> nil) then
StrDispose(FindPluginsPtr);
end;
end;
end;
gruss Emil