Hallo.
Heute habe ich den Quellcode meines OpenSource Projektes für ältere Delphi Versionen kompatibel gemacht. Dabei bemerkte ich, dass die
Unit "Masks" bei Borland Delphi 6 Personal nicht enthalten ist. (Soweit ich das dem Internet entnehmen konnte, gibt es diese jedoch bei der Professional/Enterprise wegen dem enthaltenen Source).
Da mein Programm nur die Funktion "MatchesMask" brauchte, habe ich folgendes verwendet:
Code:
// uses Masks;
function PathMatchSpecA(const pszFileParam, pszSpec: pchar): Bool;
stdcall; external 'shlwapi';
function MatchesMask(const Filename, Mask: string): boolean;
begin
result := PathMatchSpecA(pchar(Filename), pchar(Mask));
end;
Für die Funktionalität muss "Masks" natürlich ausgebunden oder die Funktion umbenannt werden.
Ich habe irgendwo gelesen, dass PathMatchSpecA 5-6 Mal schneller sein soll, als die Borlandvariante. Außerdem besteht nicht der Bug von Borland mit dem Memory-Leak. Ich habe die
DLL-Funktion PathMatchSpecA auf meinem Windows 95 PC erfolgreich getestet.
Gruß
blackdrake