《Visual basic互操作高级编程=》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:
  • 出 版 社:
  • 出版年份:2222
  • ISBN:
  • 页数:0 页
图书介绍:

第1章 互操作功能的重要性 1

1.1 Visual Basic .NET概述 1

1.2 迁移方案 2

1.2.1 VB6和Visual Basic .NET的不兼容之处 2

1.2.2 迁移到Visual Basic .NET的好方案 5

1.2.3 坏的迁移情况 5

1.2.4 不能迁移的情况 6

1.2.5 互操作性的含义 6

1.3 设计互操作方案 6

1.3.1 Web服务 7

1.3.2 智能型客户端 7

1.3.3 新的ASP.NET前端 7

1.3.4 扩充原有的组件 8

1.3.5 分布式数据处理 8

1.4 互操作应用的主要范围 8

1.4.1 在.NET中调用COM组件 8

1.4.2 在COM中调用.NET组件 9

1.4.3 在新旧程序间共享数据访问 9

1.4.4 共享配置信息 9

1.4.5 使用静态入口点调用非COM的DLL 9

1.5 小结 10

第2章 在.NET中使用COM组件 11

2.1 创建COM组件 11

2.1.1 构建COM组件 12

2.1.2 二进制兼容性 22

2.2 导入COM组件 23

2.2.1 在设计阶段导入COM组件 24

2.2.2 动态导入 37

2.3 使用COM组件 38

2.3.1 早期绑定 39

2.3.2 后期绑定 44

2.3.3 对象的生存期 48

2.3.4 多重接口 50

2.3.5 继承性 53

2.3.6 在.NET中检查COM组件 55

2.4 小结 62

第3章 在COM中使用,NET程序集 63

3.1 创建.NET程序集 63

3.1.1 创建.NET程序集概述 63

3.1.2 对互操作进行设置 75

3.1.3 使用Com Class()属性 75

3.1.4 手工提供类 77

3.2 在COM中注册.NET程序集 85

3.2.1 使用Visual Studio .NET 86

3.2.2 使用命令行实用程序 89

3.3 在COM和Windows中使用NET对象 92

3.3.1 早期绑定 93

3.3.2 后期绑定 98

3.3.3 处理销定的文件 100

3.3.4 对象生存期 100

3.3.5 多重接口和默认接口 102

3.3.6 在COM中检查.NET程序集 106

3.4 小结 109

第4章 从.NET调用MTS和COM+中的COM组件 110

4.1 使用COM+组件 111

4.1.1 创建COM+组件 111

4.1.2 在Visual Basic .NET中调用COM+组件 124

4.1.3 排队组件 132

4.2 传输数据 140

4.2.1 使用AD0中的Recordset对象 141

4.2.2 使用变量数组 146

4.2.3 使用XML文档 148

4.3 在VB6中调用COM+中的.NET组件 155

4.3.1 在.NET中创建CoM+组件 156

4.3.2 使类可用于COM客户程序 162

4.4 小结 163

第5章 COM+中的Visual Basic.NET和COM 164

5.1 COM+和VB6 165

5.1.1 为COM+创建Active XDLL 165

5.1.2 在COM+中注册DLL 170

5.1.3 创建VB6测试程序 173

5.2 COM+和Visual Basic .NET 173

5.2.1 在COM+中注册DLL 178

5.2.2 创建Visual Basic .NET测试程序 180

5.3 从COM+中的Visual Basic .NET中调用VB6组件 182

5.4 从COM+内的VB6中调用Visual Basic .NET组件 185

5.5 小结 188

第6章 定制编组 190

6.1 四种不同的编组方法 191

6.1.1 第一种编组方法:使用Tlbimp.exe 191

6.1.2 第二种编组类型(简单数据类型编组):将属性添加到使用标推类型的接口中 192

6.1.3 第三种编组类型:对COM和.NET之间传递的自定义数据结构进行编组 193

6.1.4 第四种编组类型:实现ICustomMarshaler接口 194

6.2 性能问题 195

6.3 第二种编组类型 196

6.3.1 Ildasm 196

6.3.2 Ilasm 197

6.3.3 使用带有第二种编组类型的Ildasm或者Ilasm 198

6.4 第三种编组类型 207

6.5 第四种编组类型 221

6.6 托管代码到非托管代码 233

6.7 小结 233

第7章 线程问题 235

7.1 线程的基础知识 235

7.1.1 线程的复杂性 236

7.1.2 使用单线程与多线程 237

7.1.3 VB6中的线程 238

7.1.4 Visual Basic .NET中的线程 239

7.2 线程之间的互操作 240

7.2.1 在.NET中调用COM 240

7.2.2 在COM中调用.NET 253

7.3 小结 254

第8章 DCOM、远程处理和Web服务 255

8.1 XML Web服务 255

8.2 .NET远程处理 256

8.3 DCOM 256

8.4 XML Web服务和互操作 257

8.4.1 从.NET中调用COM 258

8.4.2 从COM中调用.NET 263

8.5 .NET远程处理和互操作 268

8.5.1 从.NET中调用COM 269

8.5.2 从COM中调用.NET 277

8.6 小结 281

第9章 共享配置信息 283

9.1 专用的INI文件 284

9.1.1 INI文件的结构 284

9.1.2 访问VB6中的INI文件 285

9.1.3 访问Visual Basic .NET中的INI文件 287

9.2 使用Windows注册表存储配置设置 289

9.3 基于XML的配置文件 291

9.3.1 访问带有.NET Framework类的XML配置信息 292

9.3.2 使用Visual Basic .NET中的System.XML访问设置信息 293

9.3.3 使用VB6中的MSXML访问设置 296

9.4 并行性问题 298

9.5 小结 298

第10章 .NET中的平面文件访问 299

10.1 对于平面文件的随机访问 299

10.1.1 VB6中的随机访问 300

10.1.2 Visual Basic .NET中的随机访问 303

10.2 平面文件的二进制访问 307

10.2.1 VB6中的二进制访问 307

10.2.2 Visual Basic .NET中的二进制访问 310

10.3 顺序的文件访问 312

10.3.1 VB6中的顺序访问 312

10.3.2 Visual Basic .NET中的顺序访问 314

10.4 作为Visual Basic .NET中替代方案的流 315

10.4.1 使用流技术的顺序访问 315

10.4.2 使用流技术的二进制访问 316

10.5 小结 318

第11章 在.NET中使用ADO 319

11.1 AD0和ADO .NET之间的比较 319

11.1.1 AD0优点和缺点 320

11.1.2 在.NET中何时仍然需要ADO 320

11.2 在.NET中使用ADO 322

11.2.1 Visual Basic .NET中的ADO代码 323

11.2.2 数据绑定限制 324

11.2.3 将一些AD0属性设置为字符串而引发的问题 324

11.2.4 将ADO Recordset转换为ADO.NET DataSet 326

11.3 DA0和RD0的意义 327

11.4 小结 329

第12章 在.NET中调用APl或静态DLL函数 330

12.1 .NET对使用带有静态入口点的DLL的需求在减少 330

12.1.1 对访问Windows API的需求减少 330

12.1.2 较旧代码的退休 333

12.2 平台调用服务 334

12.2.1 声明APl 334

12.2.2 调用API函数 335

12.2.3 给函数指定别名 335

12.2.4 将结构作为参数传递 336

12.2.5 数据编组问题 338

12.3 更多的控制 340

12.3.1 控制数据编组 340

12.3.2 使用DLLImport而不是Declare 341

12.4 性能因素 342

12.5 小结 342

第13章 .NET中ActiveX控件的互操作性 343

13.1 何时在.NET中使用ActiveX控件 343

13.2 Windows Forms控件和ActiveX控件之间的差异 344

13.3 在.NET中驻留ActiveX控件 345

13.3.1 示例--Windows Media Player控件 346

13.3.2 关于示例的注意事项 347

13.3.3 从Properties列表中移出的Custom属性 347

13.3.4 使用Aximp.exe创建包装器 347

13.3.5 导入VB6 UserControls 348

13.3.6 不能导入的控件 348

13.3.7 安全性 348

13.4 VB6中的.NET Windows Forms控件 349

13.5 小结 349

第14章 VB6代码迁移的准备工作 350

14.1 停止使用默认的属性和方法 350

14.2 避免数组的非零下界 351

14.3 让所有的参数显式地传值或引用(ByRef或By3Val) 351

14.4 将默认值放在所有可选的参数上 352

14.5 在独立的代码行上声明所有变量 352

14.6 注意声明变量的位置 352

14.7 避免UDT中的固定长度字符串 353

14.8 清除已作废的关键字 354

14.9 删除隐式对象实例化 355

14.10 停止隐式加载窗体 356

14.11 将数据绑定转换到ADO 357

14.12 尽可能使用固有的常量 357

14.13 停止编写DHTML页面和WebClass 357

14.14 包装API调用 358

14.15 从UI中得到逻辑并放入组件和类中 358

14.16 避免后期绑定 358

14.17 小结 359