起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 216|回复: 5

【搞定】[请求]关于通过聊天工具登陆平台的问题**

[复制链接]
发表于 2007-12-3 14:59:52 | 显示全部楼层 |阅读模式
我们在系统中限定了人员一定必须用某个岗位身份登陆的。可是通过X3平台登陆的用户是不带岗位身份的,这造成了部分程序因为缺少岗位成员而报错。现在能不能提供一个方法解决聊天工具登陆的时候默认选择一个岗位登陆的功能?
回复

使用道具 举报

发表于 2007-12-4 09:15:56 | 显示全部楼层
在人员上可以设置每一个人的缺省岗位
在 系统空间\简洁风格\界面库\窗体库\标准风格主窗体 上
有一个private的变量FDefaultPosition,你只要在这个窗体的OnCreate事件中,判断如果这个变量为空,就用缺省岗位对这个变量赋值就可以了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-5 10:05:04 | 显示全部楼层
老兄,从聊天工具打开x3平台的时候,FDefaultPosition不为空的吧!我这边按照你的方法测试了一下,好像达不到效果!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-5 10:23:45 | 显示全部楼层
哦,我搞错了,FDefaultPosition是为空,用默认岗位赋值以后FDefaultPosition是有数据了,可是在界面下方的信息栏那里,还是只显示用户姓名
回复 支持 反对

使用道具 举报

发表于 2007-12-5 11:09:22 | 显示全部楼层
看看主窗体上的代码吧
FDefaultPosition是为空只显示姓名
FDefaultPosition是不为空,显示这个岗位的部门和岗位、姓名
procedure TSTANDARDSTYLEMAINFORM.InitStatusBar;
var
  S: string;
  L: Integer;
begin
  L := 0;
  if FDefaultPosition = nil then
    S := TSystemCore.Operator.DisplayName
  else
    S := GetOrgUnitDisplayName(FDefaultPosition.PersonMember, ' | ');
  CreateStatusBarText(L, ccStatusBar, S, False);

{取消  FStatusBarHintText := CreateStatusBarText(L, ccStatusBar, '', True);
  FStatusBarHintText.Align := TAlign.alClient;}
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-5 11:35:46 | 显示全部楼层
OK,解决了!是这个问题,我在窗体Create的事件中,InitStatusBar之前,将FDefaultPosition设置成默认值就OK了!
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-1 14:34 , Processed in 0.093257 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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