Fórum [Error] utilizando o Abort ??? Coisa estranha #292799
23/08/2005
0
So compila com exit no lugar do abort... So que o exit para mim não serve...
Depois falam que fantasma em informátina não existe... É Ruim em...
Alguem tem um ideia de o que esta mensagem esta querendo dizer :?: :?:
[b:a03980ac23]Abaixo segue o código e o erro na hora de compilar [/b:a03980ac23] :?: :?:
[URL=http://imageshack.us][img:a03980ac23]http://img244.imageshack.us/img244/2171/imagemerroabort0ny.jpg[/img:a03980ac23][/URL]
Obrigado....
Marco Salles
Curtir tópico
+ 0Posts
23/08/2005
Wilson Brito
Gostei + 0
23/08/2005
Marco Salles
Bem , voce disse que o problema poderia ser devido a uma unit.. Eu lembrei de ter acrescido a função
procedure TFormMovimentoCheques.Table1AfterPost(DataSet: TDataSet);
begin DbiSaveChanges(Table1.handle); end;
que necessita da Unite DBE.. Retirei a função e consequentemente a Unit DBE.. E o programa compilou
Bem sera que é bug do delphi :?: :?: :?: Tem como contornar este problema :?: :?: :?: Porque que ocoore isto :?: :?: :?:
Obrigado [b:680c007748]wilsondrb[/b:680c007748]..
[b:680c007748]P:S Não to fazendo o Uso de transações...[/b:680c007748]
Obrigado...
Gostei + 0
23/08/2005
Massuda
O Delphi permite que você tenha o mesmo símbolo (nome de variável, constante, função, procedure, etc) definido em units diferentes com, provavelmente, signficados diferentes. Dependendo da ordem dessas units no uses de um form, o significado do símbolo pode ser o que está em uma unit ou na outra.
Um exemplo prático: o símbolo TBitmap é definido na unit Graphics [b:d6d339b898]e[/b:d6d339b898] na unit Windows, com significados diferentes; se você tiver no uses a unit Windows [b:d6d339b898]depois[/b:d6d339b898] da unit Graphics, o significado de TBitmap será diferente do significado usual.
Para resolver isso, o Delphi permite que você escolha qual das definições usar, bastando escrever Graphics.TBitmap ou Windows.TBitmap (assim mesmo, o nome da unit seguido do símbolo). Quem mexe com .NET vai achar isso familiar.
No seu caso específico, deixe o código como estava, apenas use SysUtils.Abort ao invés de Abort apenas.
Gostei + 0
23/08/2005
Marco Salles
Mas a respeito desse Código , eu peguei aqui mesmo no forum e não sei sobre sua confiabilidade
begin DbiSaveChanges(Table1.handle); end;
para evitar de abrir um novo tpopico eu gostaria de prosseguir esta dúvida aqui mesmo ;
Obrigado...
Gostei + 0
24/08/2005
Joaoshi
Tenho utilizado desta format DBISAVECHANGES(TABLE.HANDLE).
Colocando BDE na primeira posição do USES.
Ex.:
[b:b7d1a11cd7]uses[/b:b7d1a11cd7]
[color=darkblue:b7d1a11cd7]BDE[/color:b7d1a11cd7], SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Espero ter ajudado.
Gostei + 0
24/08/2005
Marco Salles
Qual a diferença entre as posições :?: :?: :?:
Gostei + 0
24/08/2005
Massuda
Como escrevi no meu post anterior...[list:6468e4159d][*:6468e4159d]Quando a unit BDE está antes da unit SysUtils no uses, todas as ocorrências de Abort no seu código são interpretadas como sendo chamadas à procedure definida em SysUtils[*:6468e4159d]Quando a unit SysUtils está antes da unit BDE no uses, todas as ocorrências de Abort no seu código são interpretadas como sendo a constantes definida em BDE[/list:u:6468e4159d]
No seu caso, você pode evitar esse problema de ordem escrevendo SysUtils.Abort ao invés de escrever Abort apenas.
Gostei + 0
24/08/2005
Marco Salles
eu não tinha reparado no detalhe :[b:0cf83fce47] ´Ordem... ´[/b:0cf83fce47]
Eu fiz isto imediatamente , desde do primeito tópico...
[b:0cf83fce47]Obrigado...[/b:0cf83fce47]
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)