PB4.2支持CF2.0和SQL Mobile

nanxiangzi   2009-4-30 14:36 楼主

我安装了wince 4.2得一个最新补丁包,在WINCE420\OTHER目录下多了DOTNETV2、DOTNETV35、SQLMOBILE
我想将其中几个特性添加到我得系统当中去。于是编译了一个工程,添加了CF 2.0和SQLMOBILE得所有组件,编译正常通过。

我写了几个测试程序,都无法正常运行,仔细检查了NK里面的内容,居然没有这个两个特性的DLL文件。
也就是说这些DLL都没有被打进去。

我就纳闷儿了,于是将这两个特性去掉,改为CF 1.0和SQL 2.0两个,好了,这两个编译进去就能正常使用。
使用CF 1.0编写的程序能够正常运行!


不知道那位朋友能帮我解决一下这个问题

小弟先在这里谢过了。






PB编译完成之后,我在$(project)\RelDir\SAMSUNG_SMDK2410_ARMV4Release目录下找到了这几个组件的BIB和reg文件
我发现,CF 1.0和SQL 2.0得BIB和reg里面是有内容的,里面包含了一些DLL文件的拷贝和存放路径

但是CF 2.0和SQLMOBILE得BIB和REG文件却是空得,只有几个被注释得语句,如下

BIB 文件

  1. MODULES
  2. ;  Name            Path                                           Memory Type
  3. ;  --------------  ---------------------------------------------  -----------
  4. IF IMGNOCOM !

  5. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2
  6. ; @CESYSGEN ENDIF

  7. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_HEADLESS
  8. ; @CESYSGEN ENDIF

  9. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_SMARTFON
  10. ; @CESYSGEN ENDIF


  11. FILES
  12. IF IMGNOFILES !
  13. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2
  14. ; @CESYSGEN ENDIF

  15. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_HEADLESS
  16. ; @CESYSGEN ENDIF

  17. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_SMARTFON
  18. ; @CESYSGEN ENDIF

  19. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_STRING
  20. ; @CESYSGEN ENDIF

  21. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_STRING_JA
  22. ; @CESYSGEN ENDIF

  23. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_STRING_DE
  24. ; @CESYSGEN ENDIF

  25. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_STRING_FR
  26. ; @CESYSGEN ENDIF

  27. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_STRING_IT
  28. ; @CESYSGEN ENDIF

  29. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_STRING_PT
  30. ; @CESYSGEN ENDIF

  31. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_STRING_ES
  32. ; @CESYSGEN ENDIF

  33. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_STRING_KO
  34. ; @CESYSGEN ENDIF

  35. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_STRING_CHS
  36. ; @CESYSGEN ENDIF

  37. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_STRING_CHT
  38. ; @CESYSGEN ENDIF

  39. ENDIF

  40. ENDIF


REG文件

  1. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2
  2. ; @CESYSGEN ENDIF

  3. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_HEADLESS
  4. ; @CESYSGEN ENDIF

  5. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_SMARTFON
  6. ; @CESYSGEN ENDIF

  7. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_STRING
  8. ; @CESYSGEN ENDIF

  9. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_STRING_JA
  10. ; @CESYSGEN ENDIF

  11. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_STRING_DE
  12. ; @CESYSGEN ENDIF

  13. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_STRING_ES
  14. ; @CESYSGEN ENDIF

  15. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_STRING_FR
  16. ; @CESYSGEN ENDIF

  17. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_STRING_PT
  18. ; @CESYSGEN ENDIF

  19. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_STRING_IT
  20. ; @CESYSGEN ENDIF

  21. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_STRING_KO
  22. ; @CESYSGEN ENDIF

  23. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_STRING_CHS
  24. ; @CESYSGEN ENDIF

  25. ; @CESYSGEN IF NETCFV2_MODULES_DOTNETV2_STRING_CHT
  26. ; @CESYSGEN ENDIF




以上是netcfv2的BIB和REG
SQLMOBILE得这两个文件也是相同问题

回复评论 (5)

我在PB 得WorkSpace里面,查看了CF2.0和SQLMOBILE的Dependncy,是空得

但是CF1.0和SQL CE 2.0不是空,里面有很多依赖项
点赞  2009-4-30 14:38
1 CF2.0在PB4.2下面使用的话需要加一个特别的补丁的,可以查找一下;
2 据我所知SqlCE你想添加进OS,是需要手动的把DLL和注册表的信息给抽取数来,然后bib文件手动添加进去的
点赞  2009-4-30 14:53
添加之后,测试代码如下

  1. hr = CoCreateInstance (tClsid, NULL,
  2.                 CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER,
  3.                 IID__Connection, (LPVOID *)&m_pADOCEConn);

  4. DWORD err = GetLastError();


结果 hr = 0x800700c1;
err = 0x000000c1;

这个是为什么呢
点赞  2009-5-2 09:42
UPING
点赞  2009-5-4 16:04
关注,正在做这方面的东西
点赞  2010-3-10 15:51
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复