青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 1898|回复: 13

PDM消息提醒工具设计方案

[复制链接]
发表于 2017-2-7 13:30 | 显示全部楼层 |阅读模式
1、功能概要:
当用户开机启动操作系统的时候,该提醒工具自动连接PDM服务器,提示新消息;
2、开发方案:
1.        如何判断当前用户是否登录PDM:
在注册表的KEY_LOCAL_MACHINE\SOFTWARE\DDSoft下有一个键值“Current PLDM Version”,表示当前的PDM版本。如图所示:
1.png
2.        在对应PDM版本的注册表地址下有两个键值:“CurrUserId”和“CurrUserLastAccessTime”,如下图所示:
2.png
CurrUserId表示上次登录的用户Id,CurrUserLastAccessTime表示最后一次响应的时间,用于当前是否有用户登录PDM的心跳检测,如果该值与当前时间值相差90秒,即可认为当前PDM没有用户登录。在U_Data.pas中增加一个Timer控件用来更新该键值.
3.        该程序定期访问PDM数据库,访问完之后自动断开数据库连接。在访问数据库的时候要访问PLDM.udl文件中的数据库连接字符串信息,该文件是加密的,需要在启动前先解密该文件(通过调用”PDMHlp32.exe” “/UnCompress PLDM.UDL PLDM.dbs”),将PLDM.UDL文件解密到PLDM.dbs文件中,然后再从中提取数据库连接字符串,提取完之后立即删除PLDM.dbs文件.
4.        该程序需要记录用户最后一次所提示的消息ID,当下次再连接数据库时只查找大于此ID的未读消息(即新消息)并提示给用户,但是第一次和登录后的第一次都是提示用户所有未读的消息.
5.        在没有手工登录的前提下,如果当前PDM用户处于登录状态,则该信息提醒工具自动处于登录状态,不需要输入用户名和密码,如果当前PDM用户处于离线状态,此时提醒工具处于离线状态.
6.        需要在PDM中实时更新CurrUserLastAccessTime,需要在PDM中设置开机自启动,默认为开机自启动。
7.        程序刚启动时显示当前PDM用户的所有未读消息,如下图所示:
3.png
确认之后,当以后有新的未读消息到来的时候,则再提示用户。
8.        系统设置:
4.png
9.        可以在PDM中的选项中进行设置是否开机自启动PDMIM程序,如下图所示:
5.png
10.     当PDM启动的时候,如果本机没有运行PDMIM,则启动PDMIM.exe程序
11.     消息提醒工具开发的流程图如下所示:
6.png

$ }( B9 c  C# k. I4 |* G1 O1 R
发表于 2017-2-13 14:34 | 显示全部楼层
感谢楼主的分享,谢谢,学习了!
回复 支持 反对

使用道具 举报

发表于 2017-2-21 13:16 | 显示全部楼层
PDM功能越来越完善
回复 支持 反对

使用道具 举报

发表于 2017-2-23 16:53 | 显示全部楼层
这是授人以渔呀,有功能还有方法
回复 支持 反对

使用道具 举报

发表于 2017-2-24 13:33 | 显示全部楼层
PDM消息提醒工具,便于协同设计产品
9 G9 R% x7 P; y4 _3 w/ Y1 E" B
回复 支持 反对

使用道具 举报

发表于 2017-2-24 14:26 | 显示全部楼层
PDM的消息提醒还可以和邮箱绑定,工作起来更加事半功倍
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-24 15:49 | 显示全部楼层
PDM消息提醒工具,便于协同设计产品!!!
回复 支持 反对

使用道具 举报

发表于 2017-3-1 13:31 | 显示全部楼层
非常棒的一个功能!
回复 支持 反对

使用道具 举报

发表于 2017-3-2 13:41 | 显示全部楼层

7 X9 \& S# `( Q: V3 r 非常棒的一个功能
回复 支持 反对

使用道具 举报

发表于 2017-3-3 13:14 | 显示全部楼层
PDM消息提醒工具设计方案,是现在企业关注的重点,需要研究一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|sitemap|小黑屋|Archiver|手机版|UG网-UG技术论坛-青华数控模具培训学校 ( 粤ICP备15108561号 )

GMT+8, 2024-4-24 14:42 , Processed in 0.056796 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表