P>
function CreateInstance(const cid, rid: TGUID; out pv): HResult; stdcall; procedure SetComplete; safecall; procedure SetAbort; safecall; procedure EnableCommit; safecall; procedure DisableCommit; safecall; function IsInTransaction: Bool; stdcall; function IsSecurityEnabled: Bool; stdcall; function IsCallerInRole( const bstrRole: WideString): Bool; safecall; end; Métodos de IObjectContext para Transações - SetComplete: o objeto terminou sua operação e as informações podem ser efetivadas; - SetAbort: o objeto terminou sua operação mas as informações devem ser revertidas ao contexto original (rollback); - EnableCommit: as informações podem ser efetivadas; - DisableCommit: as informações não podem ser efetivadas; - IsInTransaction: retorna True se o objeto atual faz parte de uma transação. No RDMMain, coloque um ADOQuery (“aqrMovimenta”) e digite na propriedade SQL o seguinte código: update CONTA set saldo = saldo + :valor where numero = :numero Configure a conexão para “ADOConn” e certifique-se de ter dois parâmetros no DataSet: valor (DataType = ftFloat) e numero (DataType = ftInteger). Adicione um método de nome “Movimenta” na interface IRDMMain (através do menu View>Type Library) com os seguintes parâmetros: “De” (long), “Para” (long) e “Valor” (double). Clique Listagem 2. Método Movimenta procedure TRDMMain.Movimenta( De, Para: Integer; Valor: Double); begin try aqrMovimenta.Parameters.ParamByName( 'numero').Value := De; aqrMovimenta.Parameters.ParamByName( 'valor').Value := -1 * Valor; aqrMovimenta.ExecSQL; ...