我在VS2005里面用ATL写了一个组件,平台是mobile(Smart Device),现在在EVC下面注册以后就可以用了,可是我想把它导入到VC2005的TOOLBOX里面,出现了自注册失败的消息,我在PC上面用regsvr32注册,却注册失败,我想问一下我应该怎么才可以让它注册成功啊?
我认为可以注册成功,因为TOOLBOX里面的标准空间应该也是ActiveX控件,在PC和mobile下面都可以用,所以我认为可以注册成功,可是不知道要怎么做,那位知道给指点一下啊,谢谢了!
我认为可以注册成功,因为TOOLBOX里面的标准空间应该也是ActiveX控件,在PC和mobile下面都可以用,所以我认为可以注册成功,可是不知道要怎么做,那位知道给指点一下啊,谢谢了!
解决方案 »
- CString取字符串Mid简单问题
- VC调用xerces,既然头文件是hpp格式包含了实现代码,那还要lib/dll干什么呢?
- 如何根据在以下方法的情况下实现图像二值化
- WIN32下怎么实现类似LINUX下管道功能的函数呢?有现成的API吗?谢谢!
- 请教:如何让多出的子菜单分列排列
- 我用socket api 做的ftp client,出现了问题。请看关键部分的代码.
- 请问如何去掉下面的链接警告
- 怎么给项目加入CObject派生类
- 这里有拨号程序的例子么?
- 初始化MCI时发生问题
- 希望在客户区绘制的多边性随着鼠标的移动而旋转,可怎么越转越小啊???郁闷!!!
- 关于如何用MSCONN来接收0x00 数值问题.
谢谢!
会不会是因为在Mobile平台开发的COM组件,不能在XP上面注册啊?
错误信息: "XXX.DLL "不是一个可执行的文件;没有为这个文件类型注册的注册帮助程序.
我想问一下是怎么回事啊?
#include "stdafx.h"
#ifdef POCKETPC2003_UI_MODEL
#include "resourceppc.h"
#endif
#include "Test4.h"class CTest4Module : public CAtlDllModuleT< CTest4Module >
{
public :
DECLARE_LIBID(LIBID_Test4Lib)
#ifndef _CE_DCOM
DECLARE_REGISTRY_APPID_RESOURCEID(IDR_TEST4, "{5033686B-E410-4FE6-AD65-8A478A131938}")
#endif
};CTest4Module _AtlModule;
// DLL Entry Point
extern "C" BOOL WINAPI DllMain(HANDLE hInstance, DWORD dwReason, LPVOID lpReserved)
{
hInstance;
return _AtlModule.DllMain(dwReason, lpReserved);
}
// Used to determine whether the DLL can be unloaded by OLE
STDAPI DllCanUnloadNow(void)
{
return _AtlModule.DllCanUnloadNow();
}
// Returns a class factory to create an object of the requested type
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
return _AtlModule.DllGetClassObject(rclsid, riid, ppv);
}
// DllRegisterServer - Adds entries to the system registry
STDAPI DllRegisterServer(void)
{
// registers object, typelib and all interfaces in typelib
HRESULT hr = _AtlModule.DllRegisterServer();
return hr;
}
// DllUnregisterServer - Removes entries from the system registry
STDAPI DllUnregisterServer(void)
{
HRESULT hr = _AtlModule.DllUnregisterServer(FALSE);
return hr;
}
这里面需要修改什么吗?这是系统生成的啊!
但以上的代码貌似没问题。
system32,是不是wince不能使用axtivex
--------------------------------------------------------------- 首先:在开发环境下注册的控件,是注册到了本机的系统下,也就是我们正在使用的操作系统下。所以不能在CE的模拟器中运行,因模拟环境本身没有注册控件。
有一个比笨的解决方法,就是编译2个版本的该控件,当然要有相同的GUID,CLASSID之类的信息。所以就是在:VC(也可以是其它)写一个,然后在EVC中用同样的文件名建立一个控件工程,把VC下的copy 过来,但不要覆盖工程文件,把含GUID的文件,你的代码的文件覆盖EVC下的文件,这样有相同的属性的一个控件就成了,通过编译,在模拟环境下就建立一个你的控件的注册。你可以在设计环境下使用,在CE下就可以显示了 网上有一个这样的说法,可是具体还不知道怎么做,有知道的给说一下啊.谢谢