如何判断文件名是否有效? (300分)

  • 主题发起人 主题发起人 浦欣
  • 开始时间 开始时间

浦欣

Unregistered / Unconfirmed
GUEST, unregistred user!
原来的问题没有答案,换一个简单的问题
例如:
c:/a.txt(有效)
c:/a*.txt(无效)
c:/a:a.txt(无效)
如何判断,有什么规则或函数?
 
COM对象,不论是进程内,还是进程外的都需要注册。
 
Service 和 Application 应该是在在两个内存空间里面,因为Service的创建者是SYSTEM
除非你不使用Adminstrator而用SYSTEM来登陆Windows ...:~)

具体到COM对象可否如此共享,我不清楚。看看其它人的意见
 
to DragonPC_???:
你说的很有可能,我也参考了一些资料,说服务与用户及权限有关!
但如何用SYSTEM登录,好象没有这个用户!
 
浦欣:
Mail Me to joe_michael@263.net
I try to get you contact information for a long time.
Your office phone number, your mobil phone number or your
e-mail.
Michael Joe
 
to joe_michael:
mail to you ,please check
 
应该与用户关系不大,最近我也在做类似的项目
不过,COM、服务、客户都是用delphi写的,没有碰到你的问题
查查是不是用了ciMultiInstance,否则每个连接都会新增一个实例,
呵呵,瞎猜的,估计不会是这个问题吧
TAutoObjectFactory.Create(ComServer, TIntfCallback, Class_IntfCallback,
ciMultiInstance, tmApartment);
 
to:浦欣
可能我没说清楚,多个程序共用一个COM的自动化对象实例,只能用我上面写的
TAutoObjectFactory.Create(ComServer, TIntfCallback, Class_IntfCallback,
ciMultiInstance, tmApartment);
用ciSingleInstance会产生每个程序产生一个单独的COM对象实例
Single的意思是只响应单个连接请求,所以有多连接请求时,会产生多个COM实例,
所以就无法达到利用COM传递或共享的目的了,
Multi是指单个自动化对象实例响应多个连接请求。
你改改试一下,祝好运
 
to jabing:
OK,我马上试试,但为什么我的Delphi的DEMO可以实现多个程序使用一个COM实例呢?

我已经试了,还是不行!
 
踢一脚!
 
帮老乡提前一下
 
看看这个问题吧?
http://www.delphibbs.com/delphibbs/dispq.asp?lid=995538
 
to:浦欣
我一般只有在Automation对象时,才会用到查找已经存在的实例,如在操作已经打开的
Word文档等,如果没有界面的通信COM对象,ciMultiInstance方式时,其全局变量都可以
共享。如果应用是类似聊天服务器与多个客户,当一个客户的消息发送到服务器,也可以
利用服务器的回调接口来更新其它的客户显示的内容。
呵呵,我不清楚你的应用,意思是能不能换个解决的方法。我也知道真正的聊天服务
器与客户端不会有人用COM方式。只不过想做个类似简单应用的模似啦。我有这个COM回调
接口聊天服务和客户端的例子源码,但不只是不是你所要的,呵呵
 

Similar threads

回复
0
查看
825
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
922
SUNSTONE的Delphi笔记
S
后退
顶部