![]() |
Bass.dll in Projekt integrieren
Hallo zusammen, ich bin vor kurzem auf die Bass.dll umgestiegen. Leider stehe ich vor dem Problem das ich jedem nutzer immer die Bass.dll bereitstellen muss, was in dem Sinne nervig ist, weil mein Programm einen Autoupdater benutzt.
( ich habs mal für ganz faule gemacht und nicht extra ein seperates Programm geschrieben )
Delphi-Quellcode:
Das läd die Datei herunter, benachichtigt den Nutzer und startet selbstständig neu...
if StrArr[0] = 'Version' then
begin Form7.Show; if not FileExists('bass.dll') then begin fs := TFileStream.Create('bass.dll', fmCreate); Form6.HTTP.Get('***', fs); fs.free; Showmessage('bass.dll wurde vom Server nachgeladen!'); end; RenameFile('kknd.exe', ChangeFileExt('kknd', '.temp')); fs := TFileStream.Create('.\kknd.exe', fmCreate); Form7.HTTP.Get('***', fs); fs.free; Client.Disconnect; ShellExecute(Application.Handle,'open','kknd.exe',nil,nil,SW_SHOW); ExitProcess(0); end; end; Das funktionierte bis jetzt immer ganz prima aber leider springt das Programm ohne die Bass.dll garnicht erst an, was ein Nachladen unmöglich macht... kann man die DLL irgentwie in die Exe mit rein compilen oder ähnliches? |
Re: Bass.dll in Projekt integrieren
Hey,
mir stellt sich die frage ob sich eine Exe selbst wieder aufrufen kann wenn sie schonlange zu ist? Ich denke man muss eine datei die außerhalb ist die exe neustarten, sonst denke ich das es nicht funktioniert. :gruebel: |
Re: Bass.dll in Projekt integrieren
Nene das funktioniert Prima soweit. Hab mir gedanken gemacht wie ich das ganze realisieren könnte und irgentwann kam mir die Idee:
Exe datein kann man ja während der Laufzeit umbennennen... also => 1. alte KKND.exe in kknd.temp umbenennen 2. neue KKND.exe vom Server laden 3. neue KKND.exe starten 4. sich selbst beenden 5. die neue KKND.exe löscht automatisch - fals vorhanden - kknd.temp ob das wirklich so effektiv ist weiß ich nicht aber es war meine Idee und sie Funktioniert :mrgreen: |
Re: Bass.dll in Projekt integrieren
ok an sowas habe ich nicht gedacht. :thumb:
Vielleicht schickst du die datei comprimiert als eine Datei wie zip oder du denkst dir eins selber aus? :gruebel: |
Re: Bass.dll in Projekt integrieren
naja dann müsste ich aber immer erst das Archiv laden, entpacken und starten was wieder dazu führt, das ich wieder entpack Programme im Programm mitliefern muss wie unrar.exe wo wir wieder beim Anfang sind ;)
|
Re: Bass.dll in Projekt integrieren
und wenn du eins selbst baust (muss ja nicht komprimiert werden)?
|
Re: Bass.dll in Projekt integrieren
Zitat:
Aber ![]() |
Re: Bass.dll in Projekt integrieren
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:33 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