Microsoft hat ein etwas seltsames System um Resource Typen zu kennzeichnen.
Hier die
Übersicht.
Einerseits ist der Resourcetyp eine Zahl, andererseits wird er über einen PCHAR übergeben.
Die Idee dahinter ist wohl, dass man die
API so offen halten wollte, dass
man in Zukunft neben den Zahlenwerten auch Strings übergeben kann.
Das Makro MAKEINTRESOURCEA erledigt für C-Compiler den Trick:
Code:
#define MAKEINTRESOURCEA(i) (LPSTR)((DWORD)((WORD)(i)))
Daher:
Delphi-Quellcode:
const
_RT_HTML = 23;
// bitte prüfen, ob RT_HTML nicht schon in Unit Windows definiert wurde
...
RS := TResourceStream.Create(0, Pchar('
manual.html'), MAKEINTRESOURCE(_RT_HTML));
Es ist natürlich eine Verletzung der Konventionen,
wenn hinter der Resource RT_HTML ein MP3-Video abgelegt wird.
Das sollte man nicht tun.
Richtig wäre hier der Typ RT_RCDATA.