| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1165 人关注过本帖
标题:[求助]为什么无效?
只看楼主 加入收藏
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
结帖率:87.5%
收藏
 问题点数:0 回复次数:8 
[求助]为什么无效?
Windows的API里有个检测声卡的函数WaveOutGetNumDevs
我一运行,它就提示,无效动态链接在'Winmm.dll'上,这是什么意思,怎么解决?
这是声明:
function WaveOutGetNumDevs:longint;stdcall;external 'winmm.dll' name 'WaveOutGetNumDevs';
搜索更多相关主题的帖子: function Windows 动态 检测 
2007-10-21 14:52
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
收藏
得分:0 
function WaveOutGetNumDevs:longint;stdcall;external 'winmm.dll' name 'waveOutGetNumDevs';

这样写,不那样提示了,可是这个函数好像不起作用,我点检测它没反映我是否装声卡,但是为什么不执行?

procedure TForm1.Button1Click(Sender: TObject);
begin
if WaveOutGetNumDevs=0 then
RadioGroup1.ItemIndex:=1
else
radioGroup1.ItemIndex:=0;
end;

end.

两选项居中然都没选中,为什么不执行?


2007-10-21 15:14
volte
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:69
帖 子:1167
专家分:1316
注 册:2004-12-19
收藏
得分:0 
不太明白你的意思。
请问你调试程序了吗?

大家都是朋友,有空就来坐坐!
2007-10-22 13:09
anthony634
Rank: 6Rank: 6
来 自:西南交大
等 级:贵宾
威 望:24
帖 子:653
专家分:10
注 册:2006-6-8
收藏
得分:0 

RadioGroup1 用错了

procedure TForm1.Button1Click(Sender: TObject);
begin
RadioGroup1.Items.Add('有');
RadioGroup1.Items.Add('没有');
// 本来应该在RadioGroup1的Insepctor里设置比较直观的,写在这里你比较好看点。
if WaveOutGetNumDevs=0 then
RadioGroup1.ItemIndex:=1
else
radioGroup1.ItemIndex:=0;
end;
另外WaveOutGetNumDevs返回的是Cardinal不是longint。
见SDK :
/* waveform audio function prototypes */
WINMMAPI UINT WINAPI waveOutGetNumDevs(void);
typedef unsigned int UINT;

2007-10-22 13:39
anthony634
Rank: 6Rank: 6
来 自:西南交大
等 级:贵宾
威 望:24
帖 子:653
专家分:10
注 册:2006-6-8
收藏
得分:0 

另外api最好不要直接定义
type
function WaveOutGetNumDevs:Cardinal;stdcall;external 'winmm.dll' name 'waveOutGetNumDevs';

建议声明和定义 分开方便调试
type
function WaveOutGetNumDevs():Cardinal;stdcall;
implementation

function WaveOutGetNumDevs; external 'winmm.dll' name 'waveOutGetNumDevs';

2007-10-22 13:45
volte
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:69
帖 子:1167
专家分:1316
注 册:2004-12-19
收藏
得分:0 

其实cardinal和longint没关系的,
cardinal是无符号整数,
longint是有符号整数。


大家都是朋友,有空就来坐坐!
2007-10-22 19:03
anthony634
Rank: 6Rank: 6
来 自:西南交大
等 级:贵宾
威 望:24
帖 子:653
专家分:10
注 册:2006-6-8
收藏
得分:0 
赞同,一般api返回的值不会出现溢出的。
2007-10-22 20:14
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
收藏
得分:0 
嗯,明白了,多谢你们的回答!
2007-10-24 20:58
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
收藏
得分:0 
嗯,明白了,多谢你们的回答!
2007-10-24 21:04
快速回复:[求助]为什么无效?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014704 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved