捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  沪ICP备05001939号 DELPHI盒子 | 盒子论坛 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 论坛检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
 
广告
评论:一个使用PC喇叭演奏音乐的控件 (源码)
nihaoqiang 25218 2006/8/2 14:41:52
好久没来了,不好意思,楼上的问题请打开mysongs.pas安装一下元件
wengfalu 24665 2006/6/30 8:22:17
我打开时,怎么是TCPlayer 类找不到,请问到那里去下载?
fgwf1 19814 2005/12/8 11:57:12
8c
jg_liwei 10016 2004/11/30 15:56:33
但退出时报错!“system erro:code:6 句柄错误“
jg_liwei 10015 2004/11/30 15:52:53
不好意思,你早就回答这个问题了!
jg_liwei 10014 2004/11/30 15:51:39
控件什么的都安装好了,但是,在运行你的程序的时候,保错---“thread erro:句炳出错”picshow.pas单元934行。
nihaoqiang 9383 2004/11/14 12:15:39
我很少进QQ聊天,有事发我邮箱好了。
luke_hn 9355 2004/11/13 8:34:30
我是说,当图片正在显示中,按关闭按钮,就会出现。nihaoqiang你有QQ吗?我有很多问题想请教你。
nihaoqiang 9351 2004/11/12 19:24:15
在我机器上正常的啊。
tim001 9343 2004/11/12 17:11:02
谢谢
luke_hn 9322 2004/11/11 21:31:09
我按照你的要求已经修改了,但还是存在一个问题,就是当图片发生变化时,马上关闭窗口,也会出现句柄无效的错误。
nihaoqiang 9296 2004/11/10 21:57:52
谢谢楼上的提醒,我以前没在Delphi7下运行过,不知道有这个错误。这个错误是因为Delphi7和delphi5线程实现的不同而产生的,错误地方在Picshow元件单元的线程定时器类里,由于改动不大,也无须发布新版本了,改动方法如下:
  打开Picshow.pas,找到方法TAnimateThread类的方法onstructor TAnimateThread.Create(APicShow: TPicShow);

原来为
constructor TAnimateThread.Create(APicShow: TPicShow);
begin
  PicShow := APicShow;
  Priority := PicShow.ThreadPriority;
  OnTerminate := PicShow.AnimationComplete;
  FreeOnTerminate := True;
  inherited Create(false);
end;

改为
 

constructor TAnimateThread.Create(APicShow: TPicShow);
begin
  inherited Create(true);  //注意此处改为true
  PicShow := APicShow;
  Priority := PicShow.ThreadPriority;
  OnTerminate := PicShow.AnimationComplete;
  FreeOnTerminate := True;
  Resume;
end;
另外,程序退出时,还会有相识错误,请打开mysongs.pas,找到
destructor TCPlayer.Destroy;
begin
  if not (csDesigning in ComponentState) then
  begin
      if FTime.Suspended then FTime.Resume;
      FTime.Terminate;
      FTime.WaitFor;
  end;
...
end;

把  FTime.WaitFor; 注释掉(或删去)

或者改动为
destructor TCPlayer.Destroy;
begin
  if not (csDesigning in ComponentState) then
  begin
      try
      if FTime.Suspended then FTime.Resume;
      FTime.Terminate;
      FTime.WaitFor;
      except
      end;
  end;
...
end;

不明白此处的 FTime.WaitFor;为什么不行

改动完后,打开
C:\Program Files\Borland\Delphi7\Lib\dclusr.dpk
(具体路径取决与你的delphi7安装目录)
重新编译一下安装包

然后即可。请下载的朋友最好都改动一下 (Delhi5也可以改)
谢谢各位的支持!

由于win2000和win98发音函数实现的不同,在win98演奏效会果更好一些,由于win2000的beep函数必须等到发音时间到后才返回,所以只能用线程来调用它,而beep返回时会关闭声音,当另一个音提前发出时,上一个beep返回时会影响到它(提前关闭),所以当系统忙时就显得很不连续。
luke_hn 9294 2004/11/10 20:04:41
我在Delphi7.0下可以编译通过,但一运行就出现句柄无效错误。请高手修改一下。
9903 9216 2004/11/8 22:24:04
不错,好
liumazi 9195 2004/11/8 13:41:35
呵呵,作了我想作而没有作得事情.
wenjie 9185 2004/11/8 10:53:44
:)
<font color=red>Good!</font>
yzdbs 9176 2004/11/8 8:42:38
good
第一页 上一页 下一页 最后页 有 17 条纪录 共1页 1 - 17
 用户名:
 密 码:
自动登陆(30天有效)
 
  DELPHI盒子版权所有 1999-2023 V4.01 粤ICP备10103342号-1 更新RSS列表