LuloNet Postado Abril 16, 2010 Denunciar Share Postado Abril 16, 2010 Olá, pessoal.Quando crio um programa no meu Delphi 2009/2010 no Windows 7 com o componente ZeosLib 7 e o MySQL 5.1e o ocorre o ERRO: "Stack Overflow" e dai o programa não consegue fazer nenhuma manutenção do registo queestou possicionado.O que posso fazer para resolver isto ?Desde já obrigado pelas dicas e ajuda. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dbergkamps Postado Abril 16, 2010 Denunciar Share Postado Abril 16, 2010 Olá, pessoal.Quando crio um programa no meu Delphi 2009/2010 no Windows 7 com o componente ZeosLib 7 e o MySQL 5.1e o ocorre o ERRO: "Stack Overflow" e dai o programa não consegue fazer nenhuma manutenção do registo queestou possicionado.O que posso fazer para resolver isto ?Desde já obrigado pelas dicas e ajuda.Olá,Bom, overflow geralmente é problema de memória ou algum loop infinito ou um evento q chame a ele mesmo. Se possível, poste aqui o código do evento q gera o erro para q possamos lhe ajudar.AttDalton Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Douglas Soares Postado Abril 16, 2010 Denunciar Share Postado Abril 16, 2010 A primeira coisa que faço quando dá erro no win7, é testar em um XP, se der certo você pega e executa sua aplicação em modo de compatibilidade do XP...Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 LuloNet Postado Abril 16, 2010 Autor Denunciar Share Postado Abril 16, 2010 Olá, Pessoal.Conforme o solicitado estou emviando um programa exemplo:unit uZeos;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, ExtCtrls, DBCtrls, StdCtrls, DB, ZAbstractRODataset, ZAbstractDataset, ZAbstractTable, ZDataset, ZConnection;type TfZeos = class(TForm) zdbDisco: TZConnection; tabBanco: TZTable; dstBanco: TDataSource; tabBancoCodigo_banco: TSmallintField; tabBancoNome: TWideStringField; tabBancoUsuario: TWideStringField; tabBancoData: TIntegerField; tabBancoHora: TTimeField; Label1: TLabel; edtCodigo: TEdit; DBNavigator1: TDBNavigator; DBGrid1: TDBGrid; procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure edtCodigoEnter(Sender: TObject); procedure edtCodigoExit(Sender: TObject); private { Private declarations } public { Public declarations } end;var fZeos: TfZeos;implementation{$R *.dfm}procedure TfZeos.edtCodigoEnter(Sender: TObject);begin edtCodigo.Text := '';end;procedure TfZeos.edtCodigoExit(Sender: TObject);begin tabBanco.Refresh; if (tabBanco.Locate('codigo_banco',edtCodigo.Text,[])) then begin ShowMessage('Banco já cadastrado'); edtCodigo.SetFocus; Exit; end else begin // Segue para os demais dados do cadastro do banco // ....Setfocus; Exit; end;end;procedure TfZeos.FormClose(Sender: TObject; var Action: TCloseAction);begin tabBanco.Active := False; zdbDisco.Connected := False; Close;end;procedure TfZeos.FormCreate(Sender: TObject);begin Show; zdbDisco.Connected := True; tabBanco.Active := True;end;end.Gratos pela ajuda e atenção.lulonet Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dbergkamps Postado Abril 17, 2010 Denunciar Share Postado Abril 17, 2010 Olá,Boa noite.Bom pelo código q você postou, o problema so pode ta no create.Então tente assim:procedure TfZeos.FormCreate(Sender: TObject);beginShow;zdbDisco.Connect;if zdbDisco.Connected = True thentabBanco.Active := True;end;Espero ter ajudado.AttDalton Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Abril 17, 2010 Denunciar Share Postado Abril 17, 2010 ERRO: "Stack Overflow" e dai o programa não consegue fazer nenhuma manutenção do registo queestou possicionado.Tire o comando:tabBanco.Refresh;OBS: se quer atualizar sua tabela, está fazendo isso no lugar erradoOutra coisa: se voce não cria o seu form em tempo de execução, o comando para conectar e ativar usa tabela não deveria ser no evento OnCreate do Form e sim no evento OnActive do FormzdbDisco.Connected := True; tabBanco.Active := True;entretanto a conexão tambem não deveria ser constante como está fazendo ( no evento onClose e no evento OnCreate ). somente a ativação da tabela é que seria necessaria. A conexão do Banco voce faz apenas quando inicia o programa e fecha quando finaliza. abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 LuloNet Postado Abril 19, 2010 Autor Denunciar Share Postado Abril 19, 2010 (editado) Mais uma vez obrigado pela dica pessoal, valeu.Tópico [RESOLVIDO] Editado Abril 19, 2010 por LuloNet Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
LuloNet
Olá, pessoal.
Quando crio um programa no meu Delphi 2009/2010 no Windows 7 com o componente ZeosLib 7 e o MySQL 5.1
e o ocorre o ERRO: "Stack Overflow" e dai o programa não consegue fazer nenhuma manutenção do registo que
estou possicionado.
O que posso fazer para resolver isto ?
Desde já obrigado pelas dicas e ajuda.
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.