![]() |
Ersatz für MatchesMask()
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:
Für die Funktionalität muss "Masks" natürlich ausgebunden oder die Funktion umbenannt werden.
// 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; 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 |
Re: Ersatz für MatchesMask()
Falls dein Quellcode dann noch systemunabhängig sein sollte (also z.B. FPC/Lazarus -> Linux), dann kannst du dir als Alternative auch mal die Routine in meiner
![]() |
Re: Ersatz für MatchesMask()
Entspricht das nicht in etwa diesem hier:
![]() |
Re: Ersatz für MatchesMask()
Weiß nicht. Ist schließlich ein selbst geschriebener Algorithmus. Ich habe jedoch nach einem Ersatz für MatchesMask() gesucht, der sich genau so wie die Borland-Version verhält, damit meine Drittanbieter-VCLs auch noch bei Delphi 6 PE laufen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz