Hai sbagliato ad utilizzare il metodo Create di TResourceStream, in particolare il parametro ResType.Originariamente inviato da MatAlb
Con gli opportuni strumemti ho generato da due *.avi una dll (popdll.dll) la quale contiene due risorse 'cool' e 'pr'
Pensavo, quindi, di visualizzare il contenuto utilizzando MediaPlayer, ma non ci
sono riuscito, viene visualizzato il seguente messaggio di errore: ...raised execption
class eresenotfound with message 'Resource cool not found...
...
ResSt := TResourceStream.Create(ResDLLMod, 'COOL', pchar('avi'));
...
Questo parametro di consente di specificare il tipo di risorsa scegliendo in una rosa di tipologie di risorse predefinite.
Ti basta premere F1 posizionandoti sul metodo Create per verificare quali sono nella Guida in linea.
I filmati AVI non rientrano nelle tipologie di risorse per così dire "standard", quindi devi utilizzare il tipo RC_DATA sia per immagazzinare i filmati nella DLL, sia per prelevarli attraverso il ResourceStream.
Comunque, se la tua esigenza è specifica alla visualizzazione dei filmati AVI (non hai bisogno di utilizzare risorse diverse) puoi mantenere il codice con il quale hai caricato la libreria e usare il controllo TAnimate (nella pagina "Win32" della Palette dei Componenti) per visualizzare il filmato attraverso le proprietà ResHandle e ResName, di cui trovi informazioni sempre sulla Guida in linea.
La proprietà ResHandle va impostata all'handle della libreria che costituisce il modulo nel quale è contenuta la risorsa, mentre ResName deve essere impostata al nome della risorsa filmato.
Impostando la proprietà Active del controllo TAnimate a True, il filmato viene riprodotto; altre proprietà ti permettono poi di configurare loop e ripetizioni, se occorre.
Ciao!![]()