中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 郭恒兄,请教一些问题 上一主题 | 下一主题
stamp
初级用户




积分 116
发帖 4
注册 2005-2-23
状态 离线
『楼 主』:  郭恒兄,请教一些问题

有一个小小的问题,WinSail中对磁盘的读写是做在库里了,还是没有(好像是在库里),这时读一个不存在的磁盘会出现dos的告警信息,返回后桌面没有刷新,如果abort就会退出程序,我是XP下试的,不知道在dos下会不会。
--------------------------------------------------------------------------------------------------------
另外想问郭恒兄一个问题。你的系统内核关于线程的调度是通过时间中断来实现的吗?那如果要做大量工作时候,比如说既作为文件传输服务器,又作为即时消息处理(两台主机间的消息处理),以及响应用户操作,又要对对外部系统的监测(这些调度对时间要求比较精确)时,你的调度是怎么实现的。
我以前是做成有一个注册服务的形式,某一个服务要提供,在启动时先注册(我的程序比较简单,没有实现注册表之类的功能),而在得到事件函数(如键盘消息)中循环调用,这样来解决探出对话框时对他的处理,保证他们的执行。
不知道郭恒兄怎样处理,可否指点一下?
还有关于鼠标事件的处理,是否有比较简便的方法探测鼠标按下时某一个窗体得到事件,比如在多个窗口的情况下,我以前是一次仅允许探出一个窗口,再多窗口下鼠标事件如何处理简单,有一次我看了一篇介绍建立重叠窗口的文章,是一篇介绍linux下实现桌面系统的文章,太复杂了(用窗口切割,三维坐标等方法),在dos上实现起来是在复杂。不知郭兄是怎么实现的?

2005-2-25 00:00
查看资料  发送邮件  发短消息 网志  OICQ (27486919)  编辑帖子  回复  引用回复
郭恒
中级用户




积分 225
发帖 39
注册 2004-10-6
状态 离线
『第 2 楼』:  

1:WinSail是基于DOS技术之上的"实模式"下的工控开发平台,支持8086~奔腾CPU。
    Build On Dos Technoligy!2:WinSail工作在单任务中,WinSail没有挂接任何中断;
  WinSail工作在自己的多任务管理器中时,WinSail只挂接了INT8。3:WinSail的“多任务”模块和“网络”模块是可以剥离的,即您可以挂
接第三方的多任务模块-如UC/OS 和 第三方的网络模块-如WATTCP。4:对于文件服务器,建议采用“Windows”系统或“UNIX”系统,基于DOS技术
是不实际的,因为WinSail开发的目的是用于工业测控用途。5:由于DOS只有640K常规内存,并且“栈”也最大只有64K字节,故在WinSail中窗
口是不能切换的,相当于WINDOWS中的“Dialog”,WinSail内部有一个没有公开的
窗口管理器函数,它就能支持窗口切换。但在“测控”实际应用中,窗口切换只
有学术上的用处。6:WinSail在16色下,画图函数与C函数库的图形函数是共存的。7:WinSail是基于C++语法,提供的API接口70%是“类”接口,30%是C函数接口。 它是一个面向"工业控制"应用的开发平台,运行在"实模式"中,主要架构为:         |             |----BC31(DOS平台)
         |---编程平台--|----BC45(Win9x平台)
         |
         |             |---8086
         |------CPU----|---80186
         |             |---80286/80386/80486/...
         |
         |             |-----80x87
         |---浮点运算--|-----浮点仿真   
         |
         |             |-----WinSail的TCP/IP管理器
         |------网络---|-----第三方网络管理器(如Wattcp)   
         |
         |             |-----WinSail的多任务管理器
WinSail--|----多任务---|-----第三方多任务管理器(如UCOS、ERTOS)   
         |
         |             |-----COMM口->目标机
         |---远程控制--|-----网卡->目标机   
         |
         |             |-----常规内存
         |------内存---|-----扩展内存----|-实际扩展内存
         |             |                 |-磁盘仿真
         |
         |             |-----VGA(单色/彩色)
         |             |-----SVGA(单色/彩色)
         |             |           | ----- SED1335控制器
         |----图形接口-|-----LCD---|-----  T6963控制器
         |             |           |-----   ......
         |             |           | ----    其它(单色/彩色)
         |
         |                 |---- 本地I/O
         |                 |---- COM口 -> 目标机
         |---面向对象I/O --|---- 网卡 -> 目标机
         |                 | ---- PLC
         |             |------物理键盘
         |---键盘------|------I/O映射
         |             |------虚拟物理键盘(可在只有触摸屏没有键盘的场合)
         |---其它      

2005-2-26 00:00
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
boblhh9999
中级用户




积分 316
发帖 74
注册 2004-3-4
状态 离线
『第 3 楼』:  

再问郭恒兄:
如果未连打印机。而送打印,在我的图形界面下会出现讨厌的DOS错误提示,十有八九得按“abort”退出,我想如何自己拦截错误中断,做一个类是WINDOWS的对话框,允许用户重试,或按“取消”结束打印但不退出程序。
困扰了我很长的时间未解决,请郭恒兄不吝赐教
[em07]

哦哦,没人理啊,自己再顶一下,

[此贴子已经被作者于2005-3-21 13:32:57编辑过]




2005-3-18 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: