欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → thostmduserapi 的冲突问题!

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有10401人关注过本帖树形打印复制链接

主题:thostmduserapi 的冲突问题!

帅哥哟,离线,有人找我吗?
sutter
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:204 积分:490 威望:0 精华:0 注册:2010/12/16 16:04:39
thostmduserapi 的冲突问题!  发帖心情 Post By:2012/4/10 14:15:21 [显示全部帖子]

自定义开发了DLL公式,并且有自定义的thostmduserapi.dll和thosttraderapi.dll ,放在FmlDLL文件夹下;

金字塔在调用dll公式时,始终加载了自带根目录下的thosttraderapi文件,那么怎么执行我自己的FmlDLL里面的thosttraderapi文件呢


 回到顶部
帅哥哟,离线,有人找我吗?
sutter
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:204 积分:490 威望:0 精华:0 注册:2010/12/16 16:04:39
  发帖心情 Post By:2012/4/10 14:46:31 [显示全部帖子]

DLL没问题的,单独可以运行,DLL里面又调用了thosttraderapi.dll,这个自定义的DLL和金字塔根目录thosttraderapi.dll有冲突,始终调用不到自己的thosttraderapi.dll


 回到顶部
帅哥哟,离线,有人找我吗?
sutter
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:204 积分:490 威望:0 精华:0 注册:2010/12/16 16:04:39
  发帖心情 Post By:2012/4/10 15:46:52 [显示全部帖子]

是的,就是你说的意思,同名,因为我自己DLL公式根据信号走自己的CTP通道(thosttraderapi.dll和thostmduserapi.dll), 但金字塔也用了这2个文件,导致冲突,DLL公式始终都调用了金字塔的CTP DLL接口,导致我自己的交易模块异常,

第三方的动态链接库,名字改不了,还有其他办法么


 回到顶部
帅哥哟,离线,有人找我吗?
sutter
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:204 积分:490 威望:0 精华:0 注册:2010/12/16 16:04:39
  发帖心情 Post By:2012/4/10 15:55:22 [显示全部帖子]

编写没有问题的,单独从FMLDLL文件执行也不会有问题,从交易师DLL接口调用也没有问题, 只要从金字塔启动就会异常, 而且windows日志:

WinStock.exe
2.8.5.0
4f7eb27d
thosttraderapi.dll
0.0.0.0
4cf8b64a
c0000409
0002d365
1414
01cd16e8336b4797
E:\股软\Weisoft Stock\WinStock.exe
E:\股软\Weisoft Stock\thosttraderapi.dll
83ee3ddc-82db-11e1-ba2b-00242cb976d1

 

说明我的DLL调用thosttraderapi.dll里面的功能时,金字塔由于查找DLL顺序的原因,找到他根目录的DLL文件了,FMLDLL里面的thosttraderapi.dll没有机会执行


 回到顶部
帅哥哟,离线,有人找我吗?
sutter
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:204 积分:490 威望:0 精华:0 注册:2010/12/16 16:04:39
  发帖心情 Post By:2012/4/10 16:51:11 [显示全部帖子]

已经试过的,

SetDllDirectory(L"E:\股软\Weisoft Stock\FmlDLL"); //无效

 

刚用Procmon.exe分析了金字塔的启动过程,在第一个登陆界面就载入了thostmduserapi.dllthosttraderapi.dll,然后DLL执行我的界面时,并没有重新载入这2个文体, 说明DLL先从当前进程里面查找,如果进程已经载过,后面的就不再加载,始终执行了不了自己的thosttraderapi.dll, 看来这还不好解决, 最好金字塔可以配置是否使用CTP功能,如果为否,就不去加载这文件


 回到顶部
帅哥哟,离线,有人找我吗?
sutter
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:204 积分:490 威望:0 精华:0 注册:2010/12/16 16:04:39
  发帖心情 Post By:2012/4/10 16:55:06 [显示全部帖子]

找到了一个临时解决办法:

将金字塔根目录的thostmduserapi.dllthosttraderapi.dll删除

然后用自己的thostmduserapi.dllthosttraderapi.dll文件覆盖,

这样处理之后自己的CTP程序可以正常工作了,但尚不清楚是否对金字塔有后遗症

[此贴子已经被作者于2012-4-10 16:55:38编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
sutter
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:204 积分:490 威望:0 精华:0 注册:2010/12/16 16:04:39
  发帖心情 Post By:2012/4/10 16:58:18 [显示全部帖子]

没有版本号,只有修改日期2010/6/4

 回到顶部
帅哥哟,离线,有人找我吗?
sutter
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:204 积分:490 威望:0 精华:0 注册:2010/12/16 16:04:39
  发帖心情 Post By:2012/4/28 10:27:03 [显示全部帖子]

才了解到金字塔的双数据功能,于是试试看, 但由于替换了金字塔的CTP接口文件, 导致金字塔登陆CTP后接收行情会崩溃...

 

错误应用程序名称: WinStock.exe,版本: 2.8.8.0,时间戳: 0x4f913f15
错误模块名称: thosttraderapi.dll,版本: 0.0.0.0,时间戳: 0x4c087ad1
异常代码: 0xc0000409
错误偏移量: 0x0002b307
错误进程 ID: 0xf6c
错误应用程序启动时间: 0x01cd24e0c977404e
错误应用程序路径: E:\股软\Weisoft Stock\WinStock.exe
错误模块路径: E:\股软\Weisoft Stock\thosttraderapi.dll
报告 ID: 5525638d-90d7-11e1-87eb-855253dd9b48

[此贴子已经被作者于2012-4-28 10:29:45编辑过]

 回到顶部