Zitat von
Mr Whoopee:
Ich hoffe, dass ich mich jetzt besser ausgedrückt habe..
Ehrlich gesagt nicht. Was willst du den für eine Datei
zuweisen? Und was willst du dann mit der Datei machen?
Der springende Punkt, warum der Code eine Ressource aus dem eigenen Programm extrahiert ist diese Zeile:
Code:
hRes := FindResource([b]hInstance[/b], 'bild1', 'bilder');
Das
PSDK sagt dazu:
Zitat:
Code:
HRSRC FindResource(
HMODULE hModule,
LPCTSTR lpName,
LPCTSTR lpType
);
hModule
[in]
Handle to the module whose executable file contains the resource. A value of NULL specifies the module
handle associated with the image file that the operating system used to create the current process.
Du musst dort also ein
Handle auf das zu ladende Module übergeben an dessen Ressource du dran willst. Also zumBeispiel so:
Delphi-Quellcode:
foo(bBool: LongBool,pPoeint: Pointer, intBar1: Cardinal, intVar2: Cardinal, intBar3:Cardinal, ExeFilename: String);
begin
hRes := FindResource(GetModuleHandle(ExeFilename), 'bild1', 'bilder');
...;
...;
end;
Allerdings zu beachten:
Zitat:
The GetModuleHandle function retrieves a module
handle for the specified module
if the file has been mapped into the address space of the calling process.
Geht also nur so bei DLLs, die man vorher mit
LoadLibrary zum Beispiel in seinen eigenen Adressraum geladen hat. Wie das zum Beispiel RessourcenEditoren bei Exe-Dateien machen, weiß ich im Moment auch nicht. Aber eine Suche im Forum mit entsprechenden Suchbegriffen sollte helfen.