MTS组件中创建的窗体存在很多问题!(50分)

  • 主题发起人 主题发起人 zhfhe
  • 开始时间 开始时间
Z

zhfhe

Unregistered / Unconfirmed
GUEST, unregistred user!
1.在MTS组件创建的窗体不响应普通的键盘事件(但响应如ALT+F4的系统键盘事件),
如在MTS组件创建的窗体中放置一个TEdit控件Edit1,但不能在Edit1输入字符,怪!
不知如何解决?
type
Taa = class(TMtsAutoObject, Iaa)
protected
procedure test(var Param1: Integer);
safecall;
{ Protected declarations }
end;
implementation
uses ComServ;
var c:integer;f:boolean;
procedure Taa.test(var Param1: Integer);
begin
c:=Param1;
Param1:=c+5;
if f then
begin
f:=false;
form1:=tform1.Create(nil);
end;
form1.caption:='begin
';
Sleep(10000);//会使窗体睡眠,并使后续的Client端睡眠
form1.caption:='end';
end;
initialization
TAutoObjectFactory.Create(ComServer, Taa, Class_aa,
ciMultiInstance, tmApartment);
f:=true;
end.
2.如果在initialization中加入创建窗体的语句,则该窗体会一直睡眠,为什么?
initialization
TAutoObjectFactory.Create(ComServer, Taa, Class_aa,
ciMultiInstance, tmApartment);
form1:=tform1.Create(nil);
end.
3.使MTS组件创建窗体的第一个Client端,它所调用的MTS组件的方法睡眠时(如调用
Sleep(10000)语句),则窗体也睡眠,并使后续的Client端睡眠,怎么使窗体或后续的
Client端不睡眠呢?
 
sleep()和timer对象一起使用。
 
附加功能 将问题提前
 
zhfhe:如果还想接着讨论请定期提前自己的帖子,如果不想继续讨论请结束帖子。
 
MTS组件中可以有窗体吗?
你创建的窗体在什么地方?
 
喜洋洋问得有理!MTS中没有状态何来窗体?如果有,那只能在本地使用。
 
多人接受答案了。
 
后退
顶部