[解决了?] VS2008清洁&重建只在xp下打破dodataexchange? [英] [Solved?] VS2008 clean & rebuild breaks dodataexchange only under xp?

查看:44
本文介绍了[解决了?] VS2008清洁&重建只在xp下打破dodataexchange?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

哦,这不公平/我应该让它成为。



环境:



XP / Win7 32位双启动笔记本电脑

两个操作系统通用的源代码文件夹,作为第三个分区上的本地驱动程序映射。



该项目是商业第三方主机应用程序的com dll插件,我没有源代码。 dll插件有一个属性页面,主机应用程序在主机应用程序菜单上单击菜单时会激活该属性页面。属性页中没有ONInitDialog(),只有Activate()和Show()。



最近我认为属性页上的标签界面会比今天的一页凌乱更好。我遇到的问题是无模式对话框启动无模式对话框后遇到问题。这只是猜测,因为我只是不知道。



经过4次尝试,并从存储库中恢复更改,我已经放弃了,但已经离开了我的XP设置已损坏。



我可以清理解决方案,或清理项目并在Windows 7 32位启动分区下重建解决方案或项目并拥有属性页发射。但是如果我敢在XP分区(家庭甜蜜的家)下做同样的事情,那么DoDataExchange()会发现属性页面上所有控件的hWnds都是NULL。 (互联网说这意味着他们还没有创建)。



好​​的,但是如果我然后启动到Win7并重建(干净或其他)它运行正常然后将在XP中运行良好,直到我敢在XP再次干净。然后图像将被破坏,直到我在Windows 7下重建它。



我有一张上个月的XP图像,所有这些愚蠢开始之前我可以恢复,但是更精细的修复既可以让我前进,又可以减少创伤。



感谢阅读。



:Ron

Oh this isn't fair / I should have just let it be.

Environment:

XP / Win7 32 bit dual boot laptop
Source code folder common to both OS's as a local driver map on yet a 3rd partition.

The project is a com dll plugin to a commercial 3rd party host application that I don't have the source for. The dll plugin has a property page that the host app activates when a menu is clicked on the host application menu. There is no ONInitDialog() in the property page, just Activate() and Show().

Recently I got the idea that a tabbed interface on the property page would be better than the one page messy thing it is today. I ran into problem after problem with what I have surmised was modeless dialog launching modeless dialogs. This is speculation only as I just don't know.

After 4 tries, and reverting changes from the repository, I have given up for now but have been left with my XP setup damaged.

I can clean the solution, or clean the project and rebuild the solution or project under the windows 7 32 bit boot partition and have the property page launch. But if I dare do the same under the XP partition (home sweet home) then the DoDataExchange() finds that the hWnds for all the controls on the property page are NULL. (Internet says that means they are not created yet).

Ok, but if I then boot into Win7 and rebuild (clean or otherwise) it runs fine and then will run fine in XP too, until I dare do a clean again in XP. The image will then be broken until I rebuild it under windows 7.

I have an image of the XP from last month before all this silliness began that I can restore, but a finer fix would both serve me going forward and be less traumatic.

Thanks for reading.

:Ron

推荐答案

嗯,这很特别。



至于那些建议重新注册COM组件,对不起,我忽略了说属性页面不是单独的,而是COM插件dll的一个组成部分,它正在运行,因此很高兴注册。



我备份了最新的代码库并恢复了一个月前的映像备份,现在xp install正在清理/重建并运行而没有DoDataExhange()崩溃。即使在恢复最新的代码库以及5月份的所有错误修复但没有标签之后。



感谢您参与这一点乐趣。
Well, that was special.

As for those who have suggested re-registering the COM component, I'm sorry I neglected to say that the property page is not separate, but an integral part of the COM plugin dll which is running, and therefore happily registered.

I backed up the most recent code base and restored the image backup from a month ago and now xp install is cleaning / rebuilding and running without the DoDataExhange() crashes. Even after restoring the latest code base with all the bug fixes for the month of May but no tabs.

Thanks for participating in this bit of fun.


这篇关于[解决了?] VS2008清洁&重建只在xp下打破dodataexchange?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆