AGB  ·  Datenschutz  ·  Impressum  







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

minifmod.dll in resource?

Ein Thema von quakergod · begonnen am 15. Okt 2004 · letzter Beitrag vom 22. Okt 2004
Antwort Antwort
quakergod

Registriert seit: 20. Mär 2003
Ort: NRW
129 Beiträge
 
Delphi 7 Enterprise
 
#1

minifmod.dll in resource?

  Alt 15. Okt 2004, 14:33
hi, ich würde gern in meinem programm musik einbauen und benutze dafür MiniFmod,
funktioniert auch alles, aber ich muss zur .exe immer auch die minifmod.dll im gleichen ordner mitliefern,

ich würde die minifmod.dll gerne in eine resource stecken, damit ich nur die .exe hab!

hier der code der FMOD.pas:

Delphi-Quellcode:
unit FMOD;

interface

function SongLoadFromFile(FileName: PChar): Integer; cdecl; external 'minifmod.dll';
function SongLoadFromResource(FileName: PChar): Integer; cdecl; external 'minifmod.dll';
procedure SongPlay(hMod: Integer); cdecl; external 'minifmod.dll';
procedure SongStop(hMod: Integer); cdecl; external 'minifmod.dll';
procedure SongFree(hMod: Integer); cdecl; external 'minifmod.dll';
function SongGetOrder(hMod: Integer): Integer; cdecl; external 'minifmod.dll';
function SongGetRow(hMod: Integer): Integer; cdecl; external 'minifmod.dll';
function SongGetTime(hMod: Integer): Integer; cdecl; external 'minifmod.dll';

implementation

end.
könnt ihr mir helfen?
I love Delphi-Praxis !
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: minifmod.dll in resource?

  Alt 15. Okt 2004, 14:36
Erstelle dir doch eine Resource mit der DLL, linke sie in die .exe und extrahieren die DLL später wieder. Wenn ich mich nicht irre, gibt es im Forum sogar ein kleines Tuturial.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: minifmod.dll in resource?

  Alt 15. Okt 2004, 14:38
Mit der Suche [dp]dll resource7dll] findet man zum beispiel sowas: http://www.delphipraxis.net/internal...t=dll+resource
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
quakergod

Registriert seit: 20. Mär 2003
Ort: NRW
129 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: minifmod.dll in resource?

  Alt 22. Okt 2004, 02:40
ich kriegs absolut net hin

hab jetzt ne neue unit "ResLoad" angelegt, in der "FMOD.pas" verlinkt und das drin gespeichert:

Delphi-Quellcode:
unit ResLoad;

interface

implementation

function putbinresto(binresname: string; path: string): boolean;
var
  ResSize, HG, HI, SizeWritten, hFileWrite: Cardinal;
begin
  result := false;
  //find resource
  HI := FindResource(hInstance, @binresname[1], 'BINRES');
  //if legal handle, go on
  if HI <> 0 then
  begin
    //load resource and check the handle
    HG := LoadResource(hInstance, HI);
    if HG <> 0 then
    begin
      //check resource size (needed to copy a block of data)
      ResSize := SizeOfResource(hInstance, HI);
      //create the file
      hFileWrite := CreateFile(@path[1], GENERIC_READ or GENERIC_WRITE,
        FILE_SHARE_READ or FILE_SHARE_WRITE, nil, CREATE_ALWAYS,
        FILE_ATTRIBUTE_ARCHIVE, 0);
      //if succeeded ...
      if hFileWrite <> INVALID_HANDLE_VALUE then
      try
        //write to it
        result := (WriteFile(hFileWrite, LockResource(HG)^, ResSize,
          SizeWritten, nil) and (SizeWritten = ResSize));
      finally
        //close file
        CloseHandle(hFileWrite);
      end;
    end;
  end;
end;

end.


bekomme aber ganz viele fehlermeldungen:

Code:
[Fehler] ResLoad.pas(13): Undefinierter Bezeichner: 'FindResource'
[Fehler] ResLoad.pas(18): Undefinierter Bezeichner: 'LoadResource'
[Fehler] ResLoad.pas(22): Undefinierter Bezeichner: 'SizeOfResource'
[Fehler] ResLoad.pas(24): Undefinierter Bezeichner: 'CreateFile'
[Fehler] ResLoad.pas(24): Undefinierter Bezeichner: 'GENERIC_READ'
[Fehler] ResLoad.pas(24): Undefinierter Bezeichner: 'GENERIC_WRITE'
[Warnung] ResLoad.pas(24): Vorzeichenbehaftete und -lose Typen werden kombiniert - beide Operanden werden erweitert
[Fehler] ResLoad.pas(25): Undefinierter Bezeichner: 'FILE_SHARE_READ'
[Fehler] ResLoad.pas(25): Undefinierter Bezeichner: 'FILE_SHARE_WRITE'
[Warnung] ResLoad.pas(25): Vorzeichenbehaftete und -lose Typen werden kombiniert - beide Operanden werden erweitert
[Fehler] ResLoad.pas(26): Undefinierter Bezeichner: 'FILE_ATTRIBUTE_ARCHIVE'
[Fehler] ResLoad.pas(28): Undefinierter Bezeichner: 'INVALID_HANDLE_VALUE'
[Warnung] ResLoad.pas(28): Vorzeichenbehaftete und -lose Typen werden verglichen - beide Operanden werden erweitert
[Fehler] ResLoad.pas(31): Undefinierter Bezeichner: 'WriteFile'
[Fehler] ResLoad.pas(31): Undefinierter Bezeichner: 'LockResource'
[Fehler] ResLoad.pas(31): Zeigertyp erwartet
[Fehler] ResLoad.pas(32): Operator ist auf diesen Operandentyp nicht anwendbar
[Fehler] ResLoad.pas(35): Undefinierter Bezeichner: 'CloseHandle'
[Fataler Fehler] FMOD.pas(11): Verwendete Unit 'ResLoad.pas' kann nicht compiliert werden

ich komm da echt nicht weiter, könnt ihr mir helfen?
I love Delphi-Praxis !
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: minifmod.dll in resource?

  Alt 22. Okt 2004, 02:43
Schau dir doch am besten mal an in welchen Units die ganzen "undefinierten Bezeichner" deklariert sind, und mach mal ne uses-Liste auf
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#6

Re: minifmod.dll in resource?

  Alt 22. Okt 2004, 06:18
Du musst die Windows-Unit einbinden. Allerdings hast du ein generelles Problem. In der Unit FMOD werden die Funktionen Statisch gebunden. Das bedeutet, dass zum Programmstart die benötigte DLL vorhanden sein muss. Ist sie es nicht, wird schon der Start abgebrochen und die DLL wird garnicht aus der Ressource gepackt. Du musst also 1. entweder ein kleines Installprogramm schreiben, was die DLL doch entpackt, oder 2. die FMOD so umschreiben, dass die Funktionen dynamisch eingebunden wird.

Stichworte wären hier Hier im Forum suchenLoadLibrary Hier im Forum suchenGetProcAddress.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  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 02:04 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