我有一個返回SYSTEMTIME的函數。Pascal - Win32api SYSTEMTIME struct wYear始終是97
function GetFileDate : SYSTEMTIME; //Stdcall;
var
CheckFile: Long;
FileTime: LPFILETIME;
FileTimeReturn: LPFILETIME;
SystemTimeReturn: LPSYSTEMTIME;
begin
CheckFile := CreateFile(PChar('main.dll'), GENERIC_READ, FILE_SHARE_READ, NIL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
GetFileTime(CheckFile, @FileTime, NIL, NIL);
FileTimeToLocalFileTime(@FileTime, @FileTimeReturn);
FileTimeToSystemTime(@FileTime, @SystemTimeReturn);
GetFileDate := SystemTimeReturn^;
end;
對於2012年和2006年以及其他任何文件,它總是會返回97年。 爲什麼?
購買Apple股票。這在幾年內是值得的;)PS:帶「LP」的類型通常意味着「長指針」;即32位地址。您可能需要「FILETIME」或「SYSTEMTIME」記錄; *不是*「LPFILETIME」;) – paulsm4
如果你看到[你的最後一個問題]的最新答案(http://stackoverflow.com/questions/12291076/pascal-get-field-from-lpsystemtime-record)首先看看這段代碼有什麼問題,並找到解決這個問題的方法。 (有一個原因是你的問題通知你有新的內容 - 這是你可以檢查的內容。):-) –
有多尷尬。抱歉。 –