社区
Delphi
帖子详情
越界!?
crack007
2002-05-18 12:01:43
这是一个音量控制部分.其中 0 =< t <= 255
procedure TMainForm.VolumeTrackBarChange(Sender: TObject);0D var
t,v:longint;
begin
t:=volumeTrackBar.Position;
v:=(t shl 8) or (t shl 24); //按理说,此处应该不会越界才对,但他偏偏就越界了,怎么回事?比如 t=171 时。
waveOutSetVolume(0,v);
end;
...全文
59
6
打赏
收藏
越界!?
这是一个音量控制部分.其中 0 =< t <= 255 procedure TMainForm.VolumeTrackBarChange(Sender: TObject);0D var t,v:longint; begin t:=volumeTrackBar.Position; v:=(t shl 8) or (t shl 24); //按理说,此处应该不会越界才对,但他偏偏就越界了,怎么回事?比如 t=171 时。 waveOutSetVolume(0,v); end;
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
eulb
2002-05-18
打赏
举报
回复
问题就在longint是有符合的类型
用longword!
在进行shl or等逻辑操作时,可不能用有符号数
否则会莫名其妙的出错
我就碰到过
sleeepboy
2002-05-18
打赏
举报
回复
而且WaveOutSetVolume的第二个参数要得是DWORD型 也就是longword
weizhi
2002-05-18
打赏
举报
回复
呵呵,要不你改V为LongWord型吧!
sleeepboy
2002-05-18
打赏
举报
回复
longint型是有符号的
改成longword型的试试
weizhi
2002-05-18
打赏
举报
回复
呵呵,你有没有看看v:=(t shl 8) or (t shl 24); 之后V的值是多少?
在这句下面加一行
showmessage(inttostr(v));
然后你就会发现问题的.
日总是我哥
2002-05-18
打赏
举报
回复
把v改为Double类型看看~~
详细分析指针的运作!判断指针使用的错误,
越界
!引用错误!指针数据流分析。分析静态数据相关性,java实现!
数据流分析器 分析静态数据相关性 java实现,用于检测静态代码的相关性,单相关双相关
C/C++ 避免数组
越界
的方法
主要介绍了C/C++ 避免数组
越界
的方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
Jetty8 之前用6的时候报错数组
越界
换成8就好了
Jetty8,之前在用6的时候报错数组
越界
换成8就好了,不知道什么原因,亲测!
第7章 数组-9数组下标
越界
问题分析1
第7章 数组——一维数组下标
越界
问题分析C语言程序设计第7章 数组数组元素的访问访问数组元素时,下标
越界
是大忌!编译器通常不检查下标
越界
,导致程序运行时错误下标
java 判断list是否
越界
_关于ArrayList的
越界
问题?
大家都知道 ArrayList是自动扩容的。 那为什么会存在
越界
问题?话不多说 上代码1 packagetest;23 importjava.util.ArrayList;45 public classThreadUnSafe {6 public static ArrayList numberList= new ArrayList();7 public static clas...
Delphi
5,402
社区成员
262,733
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章