-
скомпилируйте пожалуйста var
H: thandle;
f: tfiletime;
begin
h := kol.FileCreate(fname, ofOpenReadWrite or ofShareDenyNone or ofOpenExisting);
if H <> -1 then
begin
kol.DateTime2FileTime(now, f);
SetFileTime(h, @f, @f, @f);
CloseHandle(H);
end;
, отпишитесь как работает и поделитесь ехешником -- у меня либо AV при открытии, либо без ошибок и изменения даты.
-
Exe собран по нижеследующему коду, все работает - дата тестового файла меняется.
program _ext_;
uses windows,kol;
var
MainForm:PControl;
Label1,Label2:PControl;
H:thandle;
f:tfiletime;
fname:KOLString;
begin
Applet := NewApplet('DateTime2FileTime');
MainForm := NewForm (Applet, 'DateTime2FileTime').SetPosition(120,120).SetSize(400,200);
fname := 'Test.txt';
Label1 := NewLabel(MainForm, 'fname: '+ fname).SetPosition( 20, 20).SetSize(100,20);
h := FileCreate(fname, ofOpenReadWrite or ofShareDenyNone or ofOpenExisting);
Label2 := NewLabel(MainForm, 'handle: '+ int2str(H)).SetPosition( 160, 20).SetSize(100,20);
if H <> DWORD(-1) then begin
DateTime2FileTime(now, f);
SetFileTime(h, @f, @f, @f);
CloseHandle(H);
end;
Run(Applet);
end.
D6 exe: http://slil.ru/29338930
-
Еще корректнее использовать константу INVALID_HANDLE_VALUE.
-
Спасибо, для файлов работает. А как для каталогов? Пробовал менять только дату создания (изменения и открытия - nil), всё равно рантайм еррор на открытии. Видимо что-то как-то...
-
подскажите пожалуйста как открыть каталог. Я не представляю какие флаги нужны
-
-
спасибо большое, всё работает
|