D
dira
Unregistered / Unconfirmed
GUEST, unregistred user!
我现在对于事件的理解很模湖
1、自定义组件可以通过拦截标准WINDOWS消息来触发;
2、通过定时器来触发,毕竟这种不多
3、通过接口得到
4、其他的我还不知道
现在问题
1、接口中是如何定义消息的(这是我的理解,可能有错),比如我看了一下TTable 追溯到 TDataSet = class(TComponent, IProviderSupport)
IProviderSupport = interface
['{7AF8F684-0660-47B5-A1B3-E168D2ACB908}']
procedure PSEndTransaction(Commit: Boolean);
procedure PSExecute;
function PSExecuteStatement(const ASQL: string; AParams: TParams;
ResultSet: Pointer = nil): Integer;
procedure PSGetAttributes(List: TList);
function PSGetDefaultOrder: TIndexDef;
function PSGetKeyFields: string;
function PSGetParams: TParams;
function PSGetQuoteChar: string;
function PSGetTableName: string;
function PSGetIndexDefs(IndexTypes: TIndexOptions = [ixPrimary..ixNonMaintained]): TIndexDefs;
function PSGetUpdateException(E: Exception; Prev: EUpdateError): EUpdateError;
function PSInTransaction: Boolean;
function PSIsSQLBased: Boolean;
function PSIsSQLSupported: Boolean;
procedure PSReset;
procedure PSSetParams(AParams: TParams);
procedure PSSetCommandText(const CommandText: string);
procedure PSStartTransaction;
function PSUpdateRecord(UpdateKind: TUpdateKind; Delta: TDataSet): Boolean;
end;
根本就没有如
OnAfterCancel, OnAfterClose等事件?如何来此事件
2、有没有其他的事件触发方式
也许无需长篇大作即解偶心中困惑,谢谢!见者有分
1、自定义组件可以通过拦截标准WINDOWS消息来触发;
2、通过定时器来触发,毕竟这种不多
3、通过接口得到
4、其他的我还不知道
现在问题
1、接口中是如何定义消息的(这是我的理解,可能有错),比如我看了一下TTable 追溯到 TDataSet = class(TComponent, IProviderSupport)
IProviderSupport = interface
['{7AF8F684-0660-47B5-A1B3-E168D2ACB908}']
procedure PSEndTransaction(Commit: Boolean);
procedure PSExecute;
function PSExecuteStatement(const ASQL: string; AParams: TParams;
ResultSet: Pointer = nil): Integer;
procedure PSGetAttributes(List: TList);
function PSGetDefaultOrder: TIndexDef;
function PSGetKeyFields: string;
function PSGetParams: TParams;
function PSGetQuoteChar: string;
function PSGetTableName: string;
function PSGetIndexDefs(IndexTypes: TIndexOptions = [ixPrimary..ixNonMaintained]): TIndexDefs;
function PSGetUpdateException(E: Exception; Prev: EUpdateError): EUpdateError;
function PSInTransaction: Boolean;
function PSIsSQLBased: Boolean;
function PSIsSQLSupported: Boolean;
procedure PSReset;
procedure PSSetParams(AParams: TParams);
procedure PSSetCommandText(const CommandText: string);
procedure PSStartTransaction;
function PSUpdateRecord(UpdateKind: TUpdateKind; Delta: TDataSet): Boolean;
end;
根本就没有如
OnAfterCancel, OnAfterClose等事件?如何来此事件
2、有没有其他的事件触发方式
也许无需长篇大作即解偶心中困惑,谢谢!见者有分