|
#1
|
|||
|
|||
Ресурсы в DLL
Здравствуйте, уважаемые программисты.
Есть DLL, в который внедрены ресурсы (много звуковых файлов). Пишу код вида Код:
library MyLib; uses System.SysUtils, System.Classes, mmSystem, WinAPI.Windows; {$R MyRes.res} procedure playClick (button: pchar); var hResInfo: hrsrc; begin hResInfo:=FindResource(hInstance, button, RT_RCDATA); if hresInfo<>0 then sndPlaySound(button, SND_RESOURCE + SND_ASYNC + SND_NODEFAULT) else sndPlaySound('remain', SND_RESOURCE + SND_ASYNC + SND_NODEFAULT) end; exports playClick; end. Код:
type TForm1 = class(TForm) procedure FormKeyPress(Sender: TObject; var Key: Char); private { Private declarations } public { Public declarations } end; procedure playClick(button: pchar); stdcall; external 'MyLib.dll'; var Form1: TForm1; implementation {$R *.dfm} {$R MyRes.res} //<---- если это убрать, то не работает procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); var s:string; begin s:='e'+Key; PlayClick(pchar(s)); end; |