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端不睡眠呢?
如在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端不睡眠呢?