TestMethod1 ve TestMethod2 içersinde kullanılan, PathFileExists Win API fonksiyonun kullanım farklılığı, avantajı, dezavantajı nedir ?
Kod: Tümünü seç
program Project2;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils,
Winapi.Windows,
System.StrUtils,
Winapi.ShLwApi;
procedure TestMethod1;
var
filePath: WideString;
result: BOOL;
begin
filePath := 'C:\x.txt';
result := PathFileExists(@filePath);
Writeln('Result:'+BoolToStr(result,true));
end;
procedure TestMethod2;
type
TPathFileExists = function (pszPath: PWideChar): BOOL; stdcall;
var
libFileName: WideString;
hModule : HINST;
PPathFileExists : TPathFileExists;
result : BOOL;
begin
hModule := LoadLibrary('shlwapi.dll');
if (hModule = 0) then exit;
PPathFileExists := GetProcAddress(hModule, 'PathFileExistsW');
if not Assigned(PPathFileExists) then exit;
result := PPathFileExists('C:\y.txt');
Writeln('Result:'+BoolToStr(result,true));
FreeLibrary(hModule);
end;
begin
try
TestMethod1;
TestMethod2;
Readln;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.
Kod: Tümünü seç
function PathFileExists; external shlwapi32 name 'PathFileExistsW';
Arada ne fark var ?