Thema: Delphi Problem mit Pointer...

Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

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

Re: Pointer

  Alt 14. Mär 2005, 03:01
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 MSDN-Library durchsuchenLoadLibrary 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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat