Ich habe jetzt zwar deinen Code nicht ausprobiert, aber mir ist folgendes aufgefallen:
Du durchläufst in jedem Schleifendurchgang
Handle := MediaInfo_New();
Dafür fehlt das entsprechende Gegenstück dazu:
procedure MediaInfo_Close(Handle: Cardinal) cdecl stdcall;
Vielleicht läuft es ja schon dadurch schneller, wenn man MediaInfo_New() nur einmal vor der Schleife ausführt und das
Handle für jede Datei wiederverwendet...
Ich glaube nicht, dass es an der
DLL liegt; wenn man z.B. ein einer Eingabeaufforderung die CLI von mediainfo, die ja dieselbe
DLL verwendet, mit einer Reihe von Dateien beschäftigt, geht das ziemlich schnell:
c:\Programme\MediaInfo\MediaInfoCLI.exe --Inform=Video;%Width%\n *.mkv
erledigt das in weniger als einer Sekunde...
.sundance.