当前位置:首页 > Twain翻译第三章
第三章应用程序实现 章内容
吐温实现。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 - 1 源管理软件的安装。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 - 2 改变需要准备一个吐温会话。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 - 2 控制吐温从应用程序会话。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 - 9
错误处理。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3-26 吐温兼容的应用程序的最佳实践。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3-28
遗留问题。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3-40 本章提供所需的基本信息以实现吐温在最低水平。
高级的主题是在第四章所讨论的,―高级应用程序实现‖。他们 包括如何利用资源提供多个图像的自动喂食。
为操作系统具体要求参考第12章,―操作系统依赖关系‖。 吐温的水平实现
应用程序开发人员可以选择在他们的应用程序在实现吐温特性 范围的水平。
?在最低级别:应用程序没有利用能力
谈判或传输模式选择。使用吐温违约,它就可以获得一个 图像在本地模式下。
?在更大的层面:应用程序可以与所期望的功能的源代码或谈判 图像特征并指定转移安排。这给应用程序
控制所接收到的图像类型。为此,开发人员应该遵循 指令从第四章本章提供的信息,―先进 应用程序实现‖。
?在最高水平:一个应用程序可以选择谈判能力,选择转移 模式,创建/展示自己的用户界面,而不是使用内置的提供 第三章
3 - 2吐温2.3规范
源管理器和源。再次,请参阅本章和第四章,―先进 应用程序实现‖。 源管理器软件的安装
吐温源代码管理器是一个开源项目维护和吐温所拥有的 工作小组(TWG)。构建二进制文件和分布式的TWG几个操作 系统。应用程序负责分发和安装的最新版本 源管理器软件可以从twain.org。
为操作系统具体要求参考第12章,―操作系统依赖关系‖。 改变需要准备一个吐温会话
以下方面的应用程序必须改变吐温会话之前就可以开始了。的 应用程序开发人员必须:
?改变应用程序的用户界面添加选择源和获取菜单选择。 ?包括名为吐温的文件。在您的应用程序。 ?改变应用程序的事件循环。
修改应用程序的用户界面添加选择源和购买选项
在第二章中提到的,―技术概述‖,应用程序应该包括两个菜单
项目的文件菜单:选择源…并获得....强烈建议您使用 这些短语,因为这种一致性将所有用户受益。 图3 - 1用户界面选择一个源和收购选项 请注意以下几点:
当这个选择: 应用程序:
选择源… 源的应用程序请求管理器的选择 源对话框出现(或者它可能显示自己的版本)。 在用户选择他们想使用来源,控制 返回到应用程序。
收购。。。。。源显示其用户的应用程序请求 接口。(再次,应用程序可以创建自己的版本 一个用户界面或显示没有用户界面。)
详细信息的操作所使用的应用程序成功地获得数据 提供在本章后面的―控制吐温从应用程序会话‖ 3 - 9页。
包括马克·吐温。H文件在您的应用程序
马克·吐温。H文件附带这个吐温开发人员工具包包含所有的关键 定义需要编写一个TWAIN-compliant应用程序或来源。一定要包括 应用程序的代码和打印出一份指在阅读这一章。 马克·吐温。H文件包含: 为每个项目类别前缀 数据组DG_ 数据参数类型DAT_ 消息MSG_
功能CAP_ ICAP_或ACAP_ 返回代码TWRC_ 状态码TWCC_ 类型定义TW_ 结构定义TW_
这些是DSM_Entry DS_Entry入口点
此外,有许多常量定义在马克·吐温。H不列在这里。 改变应用程序的事件循环
应用程序将请求为所有操作通过DSM_Entry源经理
函数调用,其中包含一个操作三联体描述要求的动作。在代码形式, DSM_Entry功能看起来是这样的:
TW_UINT16 TW_CALLINGSTYLE DSM_Entry
( pTW_IDENTITY pOrigin, // source of message pTW_IDENTITY pDest, // destination of message TW_UINT32 DG, // data group ID: DG_xxxx
TW_UINT16 DAT, // data argument type: DAT_xxxx TW_UINT16 MSG, // message ID: MSG_xxxx When this is selected: The application does this:
Select Source... The application requests that the Source Manager’s Select
Source Dialog Box appear (or it may display its own version). After the user selects the Source they want to use, control returns to the application.
Acquire... The application requests that the Source display its user interface. (Again, the application can create its own version of a user interface or display no user interface.)
Chapter 3
3-4 TWAIN 2.3 Specification
TW_MEMREF pData // pointer to data );
The DG, DAT, and MSG parameters contain the operation triplet. The parameters must follow these rules:
pOrigin
应用程序的引用TW_IDENTITY结构。这种结构的内容不得 被改变的应用程序从源的连接管理器 直到关闭。 pde
设置为NULL如果操作的最终目的地是经理。
否则,设置为指向一个有效的为一个开源TW_IDENTITY结构。 DG_xxxx
数据组的操作。目前,只有DG_CONTROL、DG_IMAGE DG_AUDIO 定义的。自定义数据组可以被定义。 DAT_xxxx
指示器,惟一地标识数据对象的类型(结构或变量)的引用 pData。 MSG_xxxx
消息指定要采取行动。 pData
是指TW_xxxx结构或操作中使用的变量。它的类型是 由DAT_xxxx指定的。这个参数应该时TW_MEMREF定型 被引用。
操作三胞胎——应用程序管理器
三胞胎以下操作可以发送从应用程序消耗的来源
经理。他们都使用DG_CONTROL数据组和他们使用三种不同的数据参数 类型:DAT_IDENTITY、DAT_PARENT DAT_STATUS。下表列出了数据 组、数据参数类型和消息组成每个操作。字母顺序排列的列表 为了不他们的顺序通常是由应用程序调用。每一个细节 操作可参考格式在第7章,―三胞胎行动‖。 从应用程序源代码管理器控制操作 DG_CONTROL / DAT_IDENTITY MSG_CLOSEDS:准备卸载指定的源 MSG_GETDEFAULT:身份信息默认的来源 MSG_GETFIRST:身份信息的第一个可用的来源 MSG_GETNEXT:下一个可用的身份来源
MSG_OPENDS:加载和初始化指定的源 MSG_SET:设置默认的身份信息来源 MSG_USERSELECT:现在―选择源‖对话框 DG_CONTROL / DAT_PARENT MSG_CLOSEDSM:准备卸货经理来源 MSG_OPENDSM:初始化源经理 DG_CONTROL / DAT_STATUS MSG_GET:返回源经理的当前状态代码 操作三胞胎——应用程序源代码
下一组的操作是由应用程序发送到一个特定的来源。这些操作是 仍然通过使用DSM_Entry源经理电话。第一组三胞胎使用 DG_CONTROL识别数据组。这些操作可以执行
任何形式的吐温设备。第二组三胞胎DG_IMAGE标识的使用 数据组,表明这些操作是特定于图像数据。每一个细节 操作可参考格式在第7章,―三胞胎行动‖。 从应用程序到源控制操作 DG_CONTROL / DAT_CAPABILITY MSG_GET返回功能可用的值(s)包括电流 和默认值
MSG_GETCURRENT得到能力的当前值
MSG_GETDEFAULT获得能力的首选默认值(具体来源) MSG_RESET TWAIN-defined改变能力的当前值 默认的
只MSG_SET改变能力的当前值(吐温2.2和 更高)
MSG_SETCONSTRAINT改变能力的当前,违约,可用值(s) (2.2之前相同的功能作为MSG_SET吐温) DG_CONTROL / DAT_DEVICEEVENT
MSG_GET:得到一个事件从源(问题只在响应这个调用 DG_CONTROL / DAT_NULL / MSG_DEVICEEVENT 源)
DG_CONTROL / DAT_EVENT
MSG_PROCESSEVENT传递一个事件源从应用程序 DG_CONTROL / DAT_FILESYSTEM MSG_AUTOMATICCAPTUREDIRECTORY 选择接收自动抓取的图像目录
MSG_CHANGEDIRECTORY改变当前域名、主机目录,或设备。 MSG_COPY复制文件
MSG_CREATEDIRECTORY创建一个目录 MSG_DELETE删除一个文件或目录 MSG_FORMATMEDIA格式存储设备
MSG_GETCLOSE由调用MSG_GETFILEFIRST关闭一个上下文 MSG_GETFIRSTFILE得到第一个文件在一个目录中 MSG_GETINFO得到当前文件的上下文信息
共分享92篇相关文档