AxWindowsMediaPlayer 如何应用在64位程序中

coriocarcsdn 2018-03-03 12:07:59
请各位大神帮忙
原来写了个程序是使用了 AxWindowsMediaPlayer 控件。 原来用c++builder2010编写,是32位的。
现在想改成 64位的。 下载了Tokyo10.2
按原来的步骤安装了AxWindowsMediaPlayer控件, 却发现只能用32位的模式编译和调试。
请问AxWindowsMediaPlayer 这个控件想使用在64位程序中改如何去做?


AxWindowsMediaPlayer 如何应用在64位程序中
...全文
1353 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
WebBrowser1.Navigate('文件名');
coriocarcsdn 2018-03-23
  • 打赏
  • 举报
回复
引用 9 楼 DelphiGuy 的回复:
那是因为你创建包的时候没有添加win64平台。两种方法: 1. 直接uses WMPLIB_TLB; 用代码创建TWindowsMediaPlayer,这样不需要安装设计时包 2. 导入时选安装到新建包,输入一个名字,比如activex,然后Delphi会创建一个包源文件activex.dpk,open project打开这个文件,在project manager中的target platforms里添加上win64,然后save all,build(注意只需要build win32-windows包即可,因为Delphi的IDE是32位的,只能安装32位设计时包),再从component->installpackages把创建的activex.bpl加入即可。
虽然没有完全明白, 但还是先给分吧,在另一个帖子给了。。。。 对了,大神, 你知道不知道 微软的xps格式 在builder 或者 delphi中如何显示? 有没有插件什么的。。。
coriocarcsdn 2018-03-07
  • 打赏
  • 举报
回复
引用 7 楼 早打大打打核战争的回复:
[quote=引用 6 楼 coriocarcsdn 的回复:] [quote=引用 3 楼 早打大打打核战争的回复:]64位DLLs在system32里,syswow64里的是32位DLLs。
System32里的wmp.dll是64位的吗?[/quote] win64系统中的64位DLLs在system32中,所以如果没有故意把32位版本复制进去,肯定是64位的。 不过由于ActiveX可以32位、64位互操作,和普通DLLs不同,64位应用可以调用32位ActiveX,32位应用也可以调用64位ActiveX,用32位版本还是64位版本是无所谓的。 [/quote] 大神啊 那为啥我导入wmp后, 在64位模式下,activex 中windowsmediaplayer控件是灰色的,用不了 换成32位模式,就好了?
  • 打赏
  • 举报
回复
引用 6 楼 coriocarcsdn 的回复:
[quote=引用 3 楼 早打大打打核战争的回复:]64位DLLs在system32里,syswow64里的是32位DLLs。
System32里的wmp.dll是64位的吗?[/quote] win64系统中的64位DLLs在system32中,所以如果没有故意把32位版本复制进去,肯定是64位的。 不过由于ActiveX可以32位、64位互操作,和普通DLLs不同,64位应用可以调用32位ActiveX,32位应用也可以调用64位ActiveX,用32位版本还是64位版本是无所谓的。
coriocarcsdn 2018-03-07
  • 打赏
  • 举报
回复
引用 3 楼 早打大打打核战争的回复:
64位DLLs在system32里,syswow64里的是32位DLLs。
System32里的wmp.dll是64位的吗?
  • 打赏
  • 举报
回复
那是因为你创建包的时候没有添加win64平台。两种方法:
1. 直接uses WMPLIB_TLB; 用代码创建TWindowsMediaPlayer,这样不需要安装设计时包
2. 导入时选安装到新建包,输入一个名字,比如activex,然后Delphi会创建一个包源文件activex.dpk,open project打开这个文件,在project manager中的target platforms里添加上win64,然后save all,build(注意只需要build win32-windows包即可,因为Delphi的IDE是32位的,只能安装32位设计时包),再从component->installpackages把创建的activex.bpl加入即可。

ooolinux 2018-03-06
  • 打赏
  • 举报
回复
@早打大打打核战争 64位DLLs在system32里,syswow64里的是32位DLLs。 —————— 这个感觉有点绕~
  • 打赏
  • 举报
回复
64位DLLs在system32里,syswow64里的是32位DLLs。
  • 打赏
  • 举报
回复
都是微软惹的祸
coriocarcsdn 2018-03-05
  • 打赏
  • 举报
回复
引用 1 楼 早打大打打核战争的回复:
这东西应该就是wmp.dll的包装,重新导入一下应该就可以了,component->import component->import activex control,选windows media player,生成wrapper components
嗯嗯 谢谢 我实验了 可是导入的wmp 我看他地址依然是 system32里的wmp.dll 64位的好像在syswow64文件夹里 也不知道怎么重新定位路径
  • 打赏
  • 举报
回复
这东西应该就是wmp.dll的包装,重新导入一下应该就可以了,component->import component->import activex control,选windows media player,生成wrapper components

5,392

社区成员

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

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