一个调用msvcrt.dll的问题?好奇怪的说

RIA1618 2001-07-29 04:12:11
1. 我想调用msvcrt.dll的time函数得到系统时间的整数形式
如下做:
type
TTime:function():Longint;
..
var
lhnd:THandle;
aptr:TFarproc;
S:Longint;
..
begin
lhnd:=Loadlibrary('msvcrt.dll');
aptr:=getprocaddress(lhnd,'time');
S:=TTime(aptr)();
//成功了
2.我想把数据库中的整型数据转化成日期格式,于是调用localtime()
TLocaltime:function(param:PLongint):Ptm;
其中: Type
Ptm =^tm;
tm = record
tm_sec:integer; // seconds after the minute - [0,59] */
tm_min:integer; // minutes after the hour - [0,59] */
tm_hour:integer; // hours since midnight - [0,23] */
tm_mday:integer; // day of the month - [1,31] */
tm_mon:integer; // months since January - [0,11] */
tm_year:integer; // years since 1900 */
tm_wday:integer; // days since Sunday - [0,6] */
tm_yday:integer; // days since January 1 - [0,365] */
tm_isdst:integer; // daylight savings time flag */
end;

可是这是的问题是:
当我再调了time()函数得到S之后,再用localtime(@S),可以得到正确的值
但如果我自己给S赋一个值,并将地址传给localtime返回的值就不对
经常是1970-3-X 00:XX:XX(而这个值如果不给localtime传参数居然也可以返回来)
请问各位,这是怎么会事呢?? 百思不得其解
...全文
70 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
RIA1618 2001-07-29
  • 打赏
  • 举报
回复
no answer?????:<
RIA1618 2001-07-29
  • 打赏
  • 举报
回复
plz help me ......

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧