AGB  ·  Datenschutz  ·  Impressum  







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

DLL Frage

Ein Thema von N47R0N · begonnen am 12. Aug 2005 · letzter Beitrag vom 12. Aug 2005
Antwort Antwort
Seite 2 von 2     12   
N47R0N

Registriert seit: 26. Mai 2005
117 Beiträge
 
#11

Re: DLL Frage

  Alt 12. Aug 2005, 12:18
So mein hauptsächliches Problem ist das ich keine Resource Datei erstellen kann weil ich die Brcc32.exe nicht finden kann , sie ist nicht in meinem Delphi bin Ordner
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: DLL Frage

  Alt 12. Aug 2005, 12:20
Sie sollte im bin Ordner liegen. Und sie ist bestimmt da.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
N47R0N

Registriert seit: 26. Mai 2005
117 Beiträge
 
#13

Re: DLL Frage

  Alt 12. Aug 2005, 12:28
Ich bin sicher das sie nicht dort liegt , hab sogra die Windows suche durchlaufen lassen und es wurde keine Datei mit dem namen gefunden

( Hab Delphi 7 Enterprise )
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#14

Re: DLL Frage

  Alt 12. Aug 2005, 12:57
Also, die ist unter %ProgramFiles%\<Dein-Delphi-Verzeichnis>\bin

Alternativ kannst du die RC.EXE aus dem PSDK benutzen, die sowieso bessere Dienste leistet, ganz einfach weil sie zB auch Unicode-Ressourcen unterstützt - meine Version des Borland-Ressourcencompilers tut dies nicht!
  Mit Zitat antworten Zitat
N47R0N

Registriert seit: 26. Mai 2005
117 Beiträge
 
#15

Re: DLL Frage

  Alt 12. Aug 2005, 13:30
Ja ich habs schon gefunden hatte nur ein kleines Problem mit Delphi
  Mit Zitat antworten Zitat
N47R0N

Registriert seit: 26. Mai 2005
117 Beiträge
 
#16

Re: DLL Frage

  Alt 12. Aug 2005, 13:39
Und wie funktioniert das jetzt ?? , hab noch nie ne resource Datei erstellt oder in mein Programm eingebunden .

Hab schon die Suche verwendet aber ich versteh das halt nicht richtig

Wie kann ich meine DLL datei als Resource in mein Programm einbinden und Später durch einen Button klick in meinem Programm dafür sorgen das die datei in einen bestimmten Ordner wieder entpackt wird?

Sorry wenn ich alles andere nicht so verstanden habe , aber ich bin halt noch ganz am anfang in der Delphi welt

Danke für Antworten
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: DLL Frage

  Alt 12. Aug 2005, 13:49
All diese Fragen findest du hier im Forum beantwortet.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#18

Re: DLL Frage

  Alt 12. Aug 2005, 14:09
Wie du das nachher mit "dem Knopf" verbindest, mußt du schon selber rausbekommen. Aber zB PutBinToRes aus meinem letzten Hooktut enthält alles nötige. So zB die RC-Datei:

Code:
[color=red]HOOKDLL[/color]                [color=green]RCDATA[/color] DISCARDABLE    [color=blue]"..\\KbdHook.dll"[/color]
Wobei die Syntax eindeutig ersichtlich ist ...
Rot: Name (kann auch eine Zahl kleiner $FFFF und größer 0 sein)
Grün: Typ
Blau: Pfad zur einzubindenden Datei

Und dann hätten wir noch die Funktion (dies ist die neueste Version von PutBinResTo, auch wenn ich sie umbenannt hatte ).
Delphi-Quellcode:
function ExtractResTo(Instance: LongWord; BinResName, NewPath, ResType: PChar): Boolean;
(*******************************************************************************
Function:  ExtractResTo
Returns:    Boolean (true=success)
Version:    Function version 3.0[mod]
            Parameters modified, SEH stripped.
*******************************************************************************)

var
  ResSize,
    HG,
    HI,
    SizeWritten,
    hFileWrite: LongWord;
begin
  result := false;
  HI := FindResource(Instance, BinResname, ResType);
  if HI <> 0 then
  begin
    HG := LoadResource(Instance, HI);
    if HG <> 0 then
    begin
      ResSize := SizeOfResource(Instance, HI);
      hFileWrite := CreateFile(NewPath, GENERIC_READ or GENERIC_WRITE,
        FILE_SHARE_READ or FILE_SHARE_WRITE, nil, CREATE_ALWAYS,
        FILE_ATTRIBUTE_ARCHIVE, 0);
      if hFileWrite <> INVALID_HANDLE_VALUE then
      begin
        result := (WriteFile(hFileWrite, LockResource(HG)^, ResSize,
          SizeWritten, nil) and (SizeWritten = ResSize));
        CloseHandle(hFileWrite);
      end;
    end;
  end;
end;
Wie man sieht, kann man als ersten Parameter die Instanz übergeben (kann also die Ressource auch aus einer externen Datei laden), danach den Namen der Ressource, den Zielpfad und zuguterletzt den Ressourcentyp.

Viel Spaß damit
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 09:48 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