Delete record?
Não consigo traduzir o delete record, dá essa mensagem abaixo:
[Error] uDM.pas(87): Statement expected, but expression of type ´Integer´
found
tentei isso no evento beforedelete
if MessageDlg(´Eliminar o Registro?´,mtConfirmation,[mbYes,mbNo],0)<>mrYes then Abort;
e quando eu coloque sysutils na frente do abort, tipo sysutils.abort, compila , mas a mensagem continua delete record?
[Error] uDM.pas(87): Statement expected, but expression of type ´Integer´
found
tentei isso no evento beforedelete
if MessageDlg(´Eliminar o Registro?´,mtConfirmation,[mbYes,mbNo],0)<>mrYes then Abort;
e quando eu coloque sysutils na frente do abort, tipo sysutils.abort, compila , mas a mensagem continua delete record?

Norotico
Curtidas 0
Respostas

Deus
04/12/2003
Bem, não sei quem é o objeto que está tentando deletar o registro, mas eu desconfio que seja um DBGrid, a julgar pela caixa de diálogo. Se for, verifique se Options -> dgConfirmDelete está em [b:124ebf98b1]False[/b:124ebf98b1], pois aí pode estar o seu problema. Se for outro componente, verifique se ele tem alguma propriedade parecida, e faça com que o controle de deleção não seja dele, mas exclusivamente do DataSet ou da Query ao qual o componente está ligado.
Espero que tenha sido útil. ;) Abraços, dEUS.
Espero que tenha sido útil. ;) Abraços, dEUS.
GOSTEI 0

Luineumann
04/12/2003
Acredito que o que vc queira seja isso:
procedure Tdm.tbTipBeforeDelete(DataSet: TDataSet);
begin
if MessageDlg(´Eliminar o Registro?´,mtConfirmation,[mbYes,mbNo],0)<>mrYes then DataSet.Cancel;
onde DataSet é o parametro da procedure BeforeDelete e é Cancel, não Abort
end;
procedure Tdm.tbTipBeforeDelete(DataSet: TDataSet);
begin
if MessageDlg(´Eliminar o Registro?´,mtConfirmation,[mbYes,mbNo],0)<>mrYes then DataSet.Cancel;
onde DataSet é o parametro da procedure BeforeDelete e é Cancel, não Abort
end;
GOSTEI 0

Norotico
04/12/2003
funcionou, porém. antes de aparecer a tela traduzida, apareça a tela padrão delete record, eu dou ok nessa só aí aparece a traduzida
GOSTEI 0

Luineumann
04/12/2003
deculpe, falei besteira o cancel apenas cancela um edit ou insert e não um delete ... deveria ser o abort mas dá erro
o seu programa tem onde a declaração da tabela - no próprio formulário ou no data module - fiz um teste e colquei numa tabela declarada no próprio formulário e não do data module então compila ok ...
experimenta fazer o seguinte -
mude a ordem dos uses no início da sua unit? ela tem uses bde? se tiver coloca
no meu teste estava
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, LibFuncs, DBTables, Bde ; // chamada da unit Bde após a SysUtils
mudei para
uses
Windows, Messages, Bde, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, LibFuncs, DBTables; // chamada da unit Bde antes da SysUtils - compilou ok
o seu programa tem onde a declaração da tabela - no próprio formulário ou no data module - fiz um teste e colquei numa tabela declarada no próprio formulário e não do data module então compila ok ...
experimenta fazer o seguinte -
mude a ordem dos uses no início da sua unit? ela tem uses bde? se tiver coloca
no meu teste estava
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, LibFuncs, DBTables, Bde ; // chamada da unit Bde após a SysUtils
mudei para
uses
Windows, Messages, Bde, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, LibFuncs, DBTables; // chamada da unit Bde antes da SysUtils - compilou ok
GOSTEI 0