Einzelnen Beitrag anzeigen

blackdrake

Registriert seit: 21. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#1

Ersatz für MatchesMask()

  Alt 31. Aug 2007, 00:18
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
Daniel Marschall
  Mit Zitat antworten Zitat