![]() |
Re: DLL Frage
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
|
Re: DLL Frage
Sie sollte im bin Ordner liegen. Und sie ist bestimmt da.
|
Re: DLL Frage
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 ) |
Re: DLL Frage
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! |
Re: DLL Frage
Ja ich habs schon gefunden hatte nur ein kleines Problem mit Delphi
|
Re: DLL Frage
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 :-D Danke für Antworten |
Re: DLL Frage
All diese Fragen findest du hier im Forum beantwortet.
|
Re: DLL Frage
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:
Wobei die Syntax eindeutig ersichtlich ist ...
[color=red]HOOKDLL[/color] [color=green]RCDATA[/color] DISCARDABLE [color=blue]"..\\KbdHook.dll"[/color]
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:
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.
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; Viel Spaß damit ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:24 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