A
autumn
Unregistered / Unconfirmed
GUEST, unregistred user!
1.如何在我的组件中建立一个Connection:TADOConnection 的属性?(200分)
我现在是这样作的
Type
TMyComponent=class(TComponent)
private
FConnection:TADOConnection;
published
Connection:TADOConnection read FConnection write FConnection;
end;
但是这样写的话,问题就来了。当我在IDE中指定了Connection为AdoConnection1后,
直接选中adoconnection1,然后按del,删除adoconnection1组件,那么会激发一个异常。
我观察了ADODB.pas单元关于adocommand的描述
procedure TADOCommand.SetConnection(const Value: TADOConnection);
begin
if Connection <> Value then
begin
FConnectionString := '';
if Assigned(FConnection) then
FConnection.UnRegisterClient(Self);
FConnection := Value;
if Assigned(FConnection) then
FConnection.RegisterClient(Self, ConnectionStateChange);
ClearActiveConnection;
end;
end;
它是这样写的,用了Connection.RegisterClient,UnRegisterClient。我也仿写了
上面的代码到我的TMyComponent上,但是还是没有解决问题。
2.如何在组件编写中实现IDE的CreateOrder功能?(100分)
我有个A组件,必须要在B组件之后创建,在IDE中有CreateOrder给我指定,我可以在A组件
的代码中指定吗?
我现在是这样作的
Type
TMyComponent=class(TComponent)
private
FConnection:TADOConnection;
published
Connection:TADOConnection read FConnection write FConnection;
end;
但是这样写的话,问题就来了。当我在IDE中指定了Connection为AdoConnection1后,
直接选中adoconnection1,然后按del,删除adoconnection1组件,那么会激发一个异常。
我观察了ADODB.pas单元关于adocommand的描述
procedure TADOCommand.SetConnection(const Value: TADOConnection);
begin
if Connection <> Value then
begin
FConnectionString := '';
if Assigned(FConnection) then
FConnection.UnRegisterClient(Self);
FConnection := Value;
if Assigned(FConnection) then
FConnection.RegisterClient(Self, ConnectionStateChange);
ClearActiveConnection;
end;
end;
它是这样写的,用了Connection.RegisterClient,UnRegisterClient。我也仿写了
上面的代码到我的TMyComponent上,但是还是没有解决问题。
2.如何在组件编写中实现IDE的CreateOrder功能?(100分)
我有个A组件,必须要在B组件之后创建,在IDE中有CreateOrder给我指定,我可以在A组件
的代码中指定吗?